summaryrefslogtreecommitdiff
path: root/Src/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/parse.c')
-rw-r--r--Src/parse.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/Src/parse.c b/Src/parse.c
index ea0dffdef..09e60ead2 100644
--- a/Src/parse.c
+++ b/Src/parse.c
@@ -2775,6 +2775,24 @@ build_cur_dump(char *nam, char *dump, char **names, int match, int map,
static FuncDump dumps;
+/**/
+static int
+zwcstat(char *filename, struct stat *buf, FuncDump dumps)
+{
+ FuncDump f;
+
+ if (stat(filename, buf)) {
+#ifdef HAVE_FSTAT
+ for (f = dumps; f; f = f->next) {
+ if (!strncmp(filename, f->filename, strlen(f->filename)) &&
+ !fstat(f->fd, buf))
+ return 0;
+ }
+#endif
+ return 1;
+ } else return 0;
+}
+
/* Load a dump file (i.e. map it). */
static void
@@ -2830,6 +2848,10 @@ load_dump_file(char *dump, struct stat *sbuf, int other, int len)
d->filename = ztrdup(dump);
}
+#else
+
+#define zwcstat(f, b, d) stat(f, b)
+
#endif
/* Try to load a function from one of the possible wordcode files for it.