restore_object(): pruefen ob Argument ein Pfad ist

Da man restore_object() statt eines Filenamens auch
direkt einen string mit den Daten uebergeben kann,
erstmal pruefen, ob das wohl so ist, bevor in
/data/ gesucht wird.

Change-Id: Ic6b7aa29bf88c5341b345214a657fabc304f8692
diff --git a/secure/simul_efun/simul_efun.c b/secure/simul_efun/simul_efun.c
index 7bf096c..2a89fcf 100644
--- a/secure/simul_efun/simul_efun.c
+++ b/secure/simul_efun/simul_efun.c
@@ -926,16 +926,21 @@
   int i;
   closure cl;
 
-  // abs. Pfad erzeugen. *seufz*
-  if (name[0]!='/')
-    name = "/" + name;
+  // Wenn name vermutlich ein Pfad (also nicht mit #x:y anfaengt)
+  if (name[0] != '#')
+  {
+    // abs. Pfad erzeugen *seufz*
+    if (name[0] != '#' && name[0]!='/')
+      name = "/" + name;
 
-  // wenn kein /data/ vorn steht, erstmal gucken, ob das Savefile unter /data/
-  // existiert. Wenn ja, wird das geladen.
-  if (strstr(name,"/"LIBDATADIR"/") != 0) {
-    string path = "/"LIBDATADIR + name;
-    if (file_size(path + ".o") >= 0)
-      name = path;
+    // wenn kein /data/ vorn steht, erstmal gucken, ob das Savefile unter
+    // /data/ existiert. Wenn ja, wird das geladen.
+    if (name[0]!='#' && strstr(name,"/"LIBDATADIR"/") != 0)
+    {
+      string path = "/"LIBDATADIR + name;
+      if (file_size(path + ".o") >= 0)
+        name = path;
+    }
   }
 
   // get actual property settings (by create())