Skip to content
Snippets Groups Projects
Commit 5bf94b5e authored by Henrik (Grubba) Grubbström's avatar Henrik (Grubba) Grubbström
Browse files

Improved symlink handling.

Rev: NT/tools/lib.pike:1.16
parent 108ddee2
No related branches found
No related tags found
No related merge requests found
...@@ -12,6 +12,16 @@ void exece(string cmd, array(string) args) ...@@ -12,6 +12,16 @@ void exece(string cmd, array(string) args)
string fixpath(string s) string fixpath(string s)
{ {
string mnt=getenv("NTMOUNT"); string mnt=getenv("NTMOUNT");
array st;
while ((st = file_stat(s, 1)) && (st[1] == -3)) {
string new_s = readlink(s);
if (new_s == s) {
werror(sprintf("%O is a symlink to itself!\n", s));
exit(1);
}
s = new_s;
}
if(mnt && strlen(mnt)) s=replace(s,mnt,""); if(mnt && strlen(mnt)) s=replace(s,mnt,"");
return replace(s,"/","\\"); return replace(s,"/","\\");
} }
...@@ -366,7 +376,6 @@ string getntenv(string var) ...@@ -366,7 +376,6 @@ string getntenv(string var)
int do_cmd(string *cmd, mixed|void filter) int do_cmd(string *cmd, mixed|void filter)
{ {
werror("DOING "+cmd*" "+"\n");
return silent_do_cmd(cmd,filter); return silent_do_cmd(cmd,filter);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment