aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--difftool/extract.c13
-rw-r--r--difftool/options.c6
2 files changed, 9 insertions, 10 deletions
diff --git a/difftool/extract.c b/difftool/extract.c
index cefba62..9fec818 100644
--- a/difftool/extract.c
+++ b/difftool/extract.c
@@ -7,14 +7,13 @@
#include "sqfsdiff.h"
static int extract(data_reader_t *data, file_info_t *fi,
- const char *path, char prefix)
+ const char *prefix, const char *path)
{
- char *ptr, *temp = alloca(strlen(path) + 3);
+ char *ptr, *temp;
int fd;
- temp[0] = prefix;
- temp[1] = '/';
- strcpy(temp + 2, path);
+ temp = alloca(strlen(prefix) + strlen(path) + 2);
+ sprintf(temp, "%s/%s", prefix, path);
ptr = strrchr(temp, '/');
*ptr = '\0';
@@ -41,12 +40,12 @@ int extract_files(sqfsdiff_t *sd, file_info_t *old, file_info_t *new,
const char *path)
{
if (old != NULL && !sd->old_is_dir) {
- if (extract(sd->sqfs_old.data, old, path, 'a'))
+ if (extract(sd->sqfs_old.data, old, "old", path))
return -1;
}
if (new != NULL && !sd->new_is_dir) {
- if (extract(sd->sqfs_new.data, new, path, 'b'))
+ if (extract(sd->sqfs_new.data, new, "new", path))
return -1;
}
return 0;
diff --git a/difftool/options.c b/difftool/options.c
index 8224b1d..149f736 100644
--- a/difftool/options.c
+++ b/difftool/options.c
@@ -52,9 +52,9 @@ static const char *usagestr =
" --super, -S Also compare metadata in super blocks.\n"
"\n"
" --extract, -e <path> Extract files that differ to the specified\n"
-" directory. Contents of the first image end up\n"
-" in a subdirectory 'a' and of the second image\n"
-" in a subdirectory 'b'.\n"
+" directory. Contents of the first filesystem\n"
+" end up in a subdirectory 'old' and of the\n"
+" second filesystem in a subdirectory 'new'.\n"
"\n"
" --help, -h Print help text and exit.\n"
" --version, -V Print version information and exit.\n"