From 5bf94b5e36d50dc3340a360df5d774a0ebff8ef2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Tue, 31 Oct 2000 15:29:34 +0100
Subject: [PATCH] Improved symlink handling.

Rev: NT/tools/lib.pike:1.16
---
 NT/tools/lib.pike | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/NT/tools/lib.pike b/NT/tools/lib.pike
index b98555988c..46a5d26dcb 100644
--- a/NT/tools/lib.pike
+++ b/NT/tools/lib.pike
@@ -12,6 +12,16 @@ void exece(string cmd, array(string) args)
 string fixpath(string s)
 {
   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,"");
   return replace(s,"/","\\");
 }
@@ -366,7 +376,6 @@ string getntenv(string var)
 
 int do_cmd(string *cmd, mixed|void filter)
 {
-  werror("DOING "+cmd*" "+"\n");
   return silent_do_cmd(cmd,filter);
 }
 
-- 
GitLab