diff src/dumper.c @ 2015:2364237fbc0f

[xemacs-hg @ 2004-04-15 20:56:17 by olivierg] Moving the dump file inside the executable
author olivierg
date Thu, 15 Apr 2004 20:56:23 +0000
parents a8d8f419b459
children 04bc9d2f42c7
line wrap: on
line diff
--- a/src/dumper.c	Thu Apr 15 15:27:38 2004 +0000
+++ b/src/dumper.c	Thu Apr 15 20:56:23 2004 +0000
@@ -40,6 +40,7 @@
 #ifdef HAVE_MMAP
 #include <sys/mman.h>
 #endif
+#include "dump-data.h"
 #endif
 
 typedef struct
@@ -1507,6 +1508,16 @@
   retry_close (fd);
   return 1;
 }
+
+static int
+pdump_ram_try (void)
+{
+  pdump_start = dumped_data_get();
+  pdump_length = dumped_data_size();
+
+  return pdump_load_check();
+}
+
 #endif /* !WIN32_NATIVE */
 
 
@@ -1553,12 +1564,19 @@
 pdump_load (const Extbyte *argv0)
 {
   Extbyte exe_path[PATH_MAX];
+
 #ifdef WIN32_NATIVE
   GetModuleFileNameA (NULL, exe_path, PATH_MAX);
 #else /* !WIN32_NATIVE */
   Extbyte *w;
   const Extbyte *dir, *p;
 
+  if(pdump_ram_try()) {
+    pdump_load_finish();
+    in_pdump = 0;
+    return 1;
+  }
+
   in_pdump = 1;
   dir = argv0;
   if (dir[0] == '-')