diff options
author | Richard Jones <rjones@trick.home.annexia.org> | 2009-07-18 10:43:52 +0100 |
---|---|---|
committer | Richard Jones <rjones@trick.home.annexia.org> | 2009-07-18 10:43:52 +0100 |
commit | 78029b529ad98769685d607230b70f71832d5906 (patch) | |
tree | f103cb7252ccca7efc3e39f4400f961d5972937c /daemon/file.c | |
parent | e8c954933b2bfb3bc3ead5a151d49d164f1a8eab (diff) | |
download | libguestfs-78029b529ad98769685d607230b70f71832d5906.tar.gz libguestfs-78029b529ad98769685d607230b70f71832d5906.tar.xz libguestfs-78029b529ad98769685d607230b70f71832d5906.zip |
Make /sysroot path configurable.
Currently /sysroot is hard-coded throughout the daemon code.
This patch turns the path into a variable so that we can change
it in future, for example to allow standalone mode to be implemented.
This patch was tested by running all the C API tests successfully.
Diffstat (limited to 'daemon/file.c')
-rw-r--r-- | daemon/file.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/daemon/file.c b/daemon/file.c index 98c356df..851d9e7c 100644 --- a/daemon/file.c +++ b/daemon/file.c @@ -328,8 +328,9 @@ char * do_file (char *path) { char *out, *err; - int r, len, freeit = 0; + int r, freeit = 0; char *buf; + int len; NEED_ROOT_OR_IS_DEVICE (path, NULL); ABS_PATH (path, NULL); @@ -337,13 +338,11 @@ do_file (char *path) if (strncmp (path, "/dev/", 5) == 0) buf = (char *) path; else { - len = strlen (path) + 9; - buf = malloc (len); + buf = sysroot_path (path); if (!buf) { reply_with_perror ("malloc"); return NULL; } - snprintf (buf, len, "/sysroot%s", path); freeit = 1; } @@ -389,7 +388,7 @@ do_zfile (char *method, char *path) NEED_ROOT (NULL); ABS_PATH (path, NULL); - len = 2 * strlen (path) + 64; + len = 2 * strlen (path) + sysroot_len + 64; cmd = malloc (len); if (!cmd) { reply_with_perror ("malloc"); @@ -406,7 +405,8 @@ do_zfile (char *method, char *path) return NULL; } - strcat (cmd, " /sysroot"); + strcat (cmd, " "); + strcat (cmd, sysroot); shell_quote (cmd + strlen (cmd), len - strlen (cmd), path); strcat (cmd, " | file -bsL -"); |