git.annexia.org
/
libguestfs.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2b4e82d
)
Fix build_supermin_appliance to return kernel / initrd names.
author
Richard Jones
<rjones@trick.home.annexia.org>
Tue, 16 Jun 2009 08:56:19 +0000
(09:56 +0100)
committer
Richard Jones
<rjones@trick.home.annexia.org>
Tue, 16 Jun 2009 08:56:19 +0000
(09:56 +0100)
src/guestfs.c
patch
|
blob
|
history
diff --git
a/src/guestfs.c
b/src/guestfs.c
index
8f06d3b
..
20fafc1
100644
(file)
--- a/
src/guestfs.c
+++ b/
src/guestfs.c
@@
-1148,17
+1148,26
@@
build_supermin_appliance (guestfs_h *g, const char *path,
char **kernel, char **initrd)
{
char cmd[4096];
char **kernel, char **initrd)
{
char cmd[4096];
- int r;
+ int r, len;
+
+ len = strlen (g->tmpdir);
+ *kernel = safe_malloc (g, len + 8);
+ snprintf (*kernel, len+8, "%s/kernel", g->tmpdir);
+ *initrd = safe_malloc (g, len + 8);
+ snprintf (*initrd, len+8, "%s/initrd", g->tmpdir);
snprintf (cmd, sizeof cmd,
"PATH='%s':$PATH "
snprintf (cmd, sizeof cmd,
"PATH='%s':$PATH "
- "guestfs-supermin-helper '%s' %s
/kernel %s/initrd
",
+ "guestfs-supermin-helper '%s' %s
%s
",
path,
path,
- path,
g->tmpdir, g->tmpdir
);
+ path,
*kernel, *initrd
);
r = system (cmd);
if (r == -1 || WEXITSTATUS(r) != 0) {
error (g, _("external command failed: %s"), cmd);
r = system (cmd);
if (r == -1 || WEXITSTATUS(r) != 0) {
error (g, _("external command failed: %s"), cmd);
+ free (*kernel);
+ free (*initrd);
+ *kernel = *initrd = NULL;
return -1;
}
return -1;
}