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())