From a6616abd6cc2bf337146bb04bdcffcb9e5bb8272 Mon Sep 17 00:00:00 2001 From: Marcus Comstedt <marcus@mc.pp.se> Date: Sat, 30 May 2020 15:57:32 +0200 Subject: [PATCH] Master: Fixes for combine_path removal of .. breaking PIKE_MODULE_RELOC --- lib/master.pike.in | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/master.pike.in b/lib/master.pike.in index a78be8f547..71f2b79617 100644 --- a/lib/master.pike.in +++ b/lib/master.pike.in @@ -780,6 +780,11 @@ string getcwd() string combine_path_with_cwd(string ... paths) { +#ifdef PIKE_MODULE_RELOC + /* This is necessary to find compat modules... */ + if (has_prefix(paths[0], "/${PIKE_MODULE_PATH}/"+UPDIR)) + return "/${PIKE_MODULE_PATH}/"+combine_path(paths[0][21..],@paths[1..]); +#endif return combine_path(IS_ABSOLUTE_PATH(paths[0])?"":getcwd(),@paths); } @@ -1659,7 +1664,11 @@ program low_cast_to_program(string pname, { return prog; } - pname=combine_path("",pname); +#ifdef PIKE_MODULE_RELOC + /* This is necessary to find compat modules... */ + if (!has_prefix(pname, "/${PIKE_MODULE_PATH}/"+UPDIR)) +#endif + pname=combine_path("",pname); return findprog(pname,ext,handler,mkobj); } else { -- GitLab