git.annexia.org
/
libguestfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add 'glob-expand' command.
[libguestfs.git]
/
src
/
guestfs.c
diff --git
a/src/guestfs.c
b/src/guestfs.c
index
8f06d3b
..
0b56253
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
",
+ "
libguestfs-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;
}