Support fuer Pfad-Platzhalter

Expansion von Platzhaltern in Pfaden mit
normalize_path().

Change-Id: I5574946a9bae130b07fe35f74b5cf275c311682d
diff --git a/obj/tools/lupe.c b/obj/tools/lupe.c
index b3734fb..94d539e 100644
--- a/obj/tools/lupe.c
+++ b/obj/tools/lupe.c
@@ -3,6 +3,7 @@
 // Some changes/extensions by Jof@MorgenGrauen
 
 inherit "/std/thing";
+protected functions virtual inherit "/std/util/path";
 
 #include <language.h>
 #include <properties.h>
@@ -11,6 +12,7 @@
 #include <defines.h>
 #include <questmaster.h>
 #include <userinfo.h>
+#include <strings.h>
 
 #define add(s) commands+=({s});functions+=({s});ncmds++
 #define add2(s,f) commands+=({s});functions+=({f});ncmds++
@@ -33,12 +35,15 @@
 void cleanof(string str,object ob);
 
 
-void create()
+protected void create()
 {
   object owner;
   string str;
-  
-  if (!clonep(ME)) return;
+
+  if (!clonep(ME)) {
+      set_next_reset(-1);
+      return;
+  }
   ::create();
   owner=environment()||this_player();
   if (owner)
@@ -182,7 +187,8 @@
   for (i=0;i<maxverb;i++)
     if (commands[i]==verb[0..sizeof(commands[i])-1])
       if (ret=evalcmd(str))
-	return ret;
+          return ret;
+
   return(0); // non-void function, Zesstra
 }
 
@@ -236,10 +242,7 @@
 
 string strip(string str)
 {
-  string temp;
-  if(!str) return "";
-  while (sscanf(str," %s",temp)==1) str=temp;
-  return str;
+  return trim(str,TRIM_BOTH);
 }
 
 int arglen;
@@ -470,7 +473,8 @@
 
 string make_path(string path)
 {
-  return "secure/master"->_get_path( path, geteuid( this_player() ) );
+  // Pfadexpansion fuer Nutzer des Tools
+  return normalize_path(path, getuid( RPL || PL ), 1);
 }
 
 string new(string arg)