diff options
Diffstat (limited to 'Src/parse.c')
-rw-r--r-- | Src/parse.c | 22 |
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. |