Aenderungen von log_file() in spare kopiert

Change-Id: I949a5fe9f70ee4a768d4eb0615537bd3958e5daf
diff --git a/secure/simul_efun/spare/files.c b/secure/simul_efun/spare/files.c
index 030b306..107df99 100644
--- a/secure/simul_efun/spare/files.c
+++ b/secure/simul_efun/spare/files.c
@@ -66,6 +66,14 @@
                 "valid_write",file,geteuid(PO),"log_file",PO))
       return 0;
 
+    // pruefen, ob das Verzeichnis existiert - sonst anlegen
+    string dir=file[..strrstr(file,"/")-1];
+    if (file_size(dir) != -2) // FSIZE_DIR
+    {
+      if (!mkdirp(dir))
+        return 0;
+    }
+
     // Wenn zu gross, rotieren.
     if ( size_to_break >= 0 & (
         sizeof(st = get_dir(file,2) ) && st[0] >= (size_to_break|MAX_LOG_SIZE)))
diff --git a/secure/simul_efun/spare/simul_efun.c b/secure/simul_efun/spare/simul_efun.c
index a1d987a..501f596 100644
--- a/secure/simul_efun/spare/simul_efun.c
+++ b/secure/simul_efun/spare/simul_efun.c
@@ -14,6 +14,8 @@
 #define SNOOPLOGFILE "SNOOP"
 #define ASNOOPLOGFILE "ARCH/SNOOP"
 
+public int mkdirp(string dir);
+
 #include "/secure/config.h"
 #include "/secure/wizlevels.h"
 #include "/sys/snooping.h"