chiark
/
gitweb
/
~mdw
/
runlisp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lib.c: Make `search_recursive' be static, as it should be.
[runlisp]
/
dump-runlisp-image.c
diff --git
a/dump-runlisp-image.c
b/dump-runlisp-image.c
index 7d1d88f68b95aa41c382fba5ac7a9f893e57de83..9ed578d73861d2cd28281a7a2852aecd8646ee6f 100644
(file)
--- a/
dump-runlisp-image.c
+++ b/
dump-runlisp-image.c
@@
-547,6
+547,7
@@
static void notice_filename(const char *p, size_t sz)
if (!node) {
node = xmalloc(sizeof(*node));
treap_insert(&good, &path, node, p, sz);
if (!node) {
node = xmalloc(sizeof(*node));
treap_insert(&good, &path, node, p, sz);
+ if (verbose >= 3) moan("noticed non-junk file `%.*s'", (int)sz, p);
}
}
}
}
@@
-702,7
+703,10
@@
static void add_job(unsigned f, struct config_section *sect)
config_subst_split_var(&config, sect, runvar, &av_version);
if (!av_version.n)
lose("empty `run-script' command for Lisp implementation `%s'", name);
config_subst_split_var(&config, sect, runvar, &av_version);
if (!av_version.n)
lose("empty `run-script' command for Lisp implementation `%s'", name);
- argv_append(&av_version, xstrdup("?(lisp-implementation-version)"));
+ argv_append(&av_version,
+ config_subst_string_alloc
+ (&config, sect, "<internal>",
+ "?${lisp-version?(lisp-implementation-version)}"));
config_subst_split_var(&config, sect, dumpvar, &av_dump);
if (!av_dump.n)
lose("empty `dump-image' command for Lisp implementation `%s'", name);
config_subst_split_var(&config, sect, dumpvar, &av_dump);
if (!av_dump.n)
lose("empty `dump-image' command for Lisp implementation `%s'", name);
@@
-915,7
+919,7
@@
static void finish_job(struct job *job)
job->exit);
/* What happens next depends on the state of the job. This is the main
job->exit);
/* What happens next depends on the state of the job. This is the main
- * place which advance
d
the job state machine.
+ * place which advance
s
the job state machine.
*/
if (ok) switch (job->st) {
*/
if (ok) switch (job->st) {
@@
-993,6
+997,12
@@
static void finish_job(struct job *job)
ok = 0; break;
}
ok = 0; break;
}
+ /* Notice the image so that it doesn't get junked. */
+ if (flags&AF_JUNK) {
+ p = strrchr(job->imghash, '/'); if (p) p++; else p = job->imghash;
+ notice_filename(p, strlen(p));
+ }
+
/* Determine the basename of the final image. */
p = strrchr(job->imghash, '/'); if (p) p++; else p = job->imghash;
/* Determine the basename of the final image. */
p = strrchr(job->imghash, '/'); if (p) p++; else p = job->imghash;