Expansion von Platzhaltern aus master verlegt

Die Funktionalitaet wird nun ganz aus dem Mastercode entfernt
und zieht um nach /std/util/path, von wo es geerbt werden kann.
Dort findet sich nun auch normalize_path().
Der Code im Master beschraenkt sich vollstaendig darauf,
Pfade "sane" zu machen.

Change-Id: I7a38366466aa206f858be9ff1d5fb9573504ce43
diff --git a/secure/master/file_access.c b/secure/master/file_access.c
index 93738ab..8b1bbd5 100644
--- a/secure/master/file_access.c
+++ b/secure/master/file_access.c
@@ -24,48 +24,11 @@
 // Normalisiert den Pfad und liefert ein Array mit Pfadelementen.
 // expand bestimmt, ob im Pfad +, ~ oder P_CURRENTDIR expandiert werden oder
 // nicht.
-string *path_array(string path, string user, int expand) {
-  string cwd;
+string *path_array(string path) {
 
   if (!sizeof(path))
     return ({"",""}); // additional "" to yield "/" later.
 
-  // expand gibt es nur wenn angefordert
-  if (expand)
-  {
-    switch(path[0])
-    {
-      // expand nur fuer nicht-absolute Pfade
-      case '/':
-        break;
-      case '+':
-        if(sizeof(path)==1)
-          return ({"",DOMAINDIR});
-        path="/"DOMAINDIR"/" + path[1..];
-        break;
-      case '~':
-        if (sizeof(path)==1)
-        {
-          if(user)
-            return ({"",WIZARDDIR,user});
-          else
-            return ({"",WIZARDDIR});
-        }
-        else
-        {
-          if(user && sizeof(path)>1 && path[1]=='/') // "~/"
-            path="/"WIZARDDIR"/" + user + "/" + path[2..];
-          else
-            path="/"WIZARDDIR"/" + path[1..];
-        }
-        break;
-      default:
-        if(user && TP && getuid(TP) == user
-            && (cwd=(string)TP->QueryProp(P_CURRENTDIR)))
-          path=cwd + "/" + path;
-    }
-  }
-
   // remove multiple '/'erstn gv
   path = regreplace(path, "/+", "/", 1);
 
@@ -109,23 +72,13 @@
 // Pfadnormalisierung OHNE Ersetzungen von +, ~ und P_CURRENTDIR (war mal mit)
 // Eigentlich hier ziemlich unnuetz, aber nen Haufen Objekte im Mud ruft das.
 string _get_path(string path, string user) {
-  return implode(path_array(path, user, 0),"/");
-}
-
-// Besser benamste Version von _get_path().
-// Normalisiert den Pfad, expandiert Platzhalter auf Wunsch, benutzt ggf. TI
-// oder TP als User, wenn nicht angegeben.
-varargs string normalize_path(string path, string user, int expand) {
-  if (!user && (TI || TP))
-    user = getuid(TI || TP);
-  return implode(path_array(path, user, expand), "/");
+  return implode(path_array(path),"/");
 }
 
 // Diese Funktion wird vom Driver nur fuer den Editor ed gerufen, aber der
-// Rest vom MG ruft es teilweise auch. Hier erfolgt eine Expansion von
-// Platzhaltern im Pfad.
+// Rest vom MG ruft es teilweise auch.
 string make_path_absolute(string path) {
-  return normalize_path(path, getuid(TI || TP), 1);
+  return implode(path_array(path),"/");
 }
 
 static int project_access(string user, string project)
@@ -222,23 +175,23 @@
 
   switch(fun) {
     case "log_file":
-      strs=path_array("/"+path, 0, 0);
+      strs=path_array("/"+path);
       path = implode(strs, "/");
       strs -= ({""}); // remove trailing and leading "/".
       if (sizeof(strs)>1 && strs[0]=="log") return path;
       return 0;
     case "save_object":
       if (!sizeof(path)) return 0;
-      strs=path_array("/"+path, 0, 0);
+      strs=path_array("/"+path);
       break;
     case "ed_start":
       if (sizeof(path))
-        strs=path_array(path, euid, 1);
+        strs=path_array(path);
       else
         strs=({"players",euid,".err"});
       break;
     default:
-      strs=path_array(path, euid, 0);
+      strs=path_array(path);
   }
 
   if (!euid || euid=="NOBODY" || euid=="ftp" || euid=="anonymous") return 0;
@@ -439,7 +392,7 @@
 
   if (!euid) euid="-";
 
-  strs=path_array(path, euid, 0);
+  strs=path_array(path);
   // Pfade sind ab jetzt auf jeden Fall absolut.
   path=implode(strs, "/");