diff options
Diffstat (limited to 'src/internal_cmd.c')
-rw-r--r-- | src/internal_cmd.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/internal_cmd.c b/src/internal_cmd.c index bcd0231..17d49af 100644 --- a/src/internal_cmd.c +++ b/src/internal_cmd.c @@ -101,6 +101,7 @@ int mkmanifest_interface(int argc, char **argv) { return -1; } Manifest *manifest = NULL; + int result = 0; char *pkgdir = NULL; char path[PATH_MAX]; memset(path, '\0', PATH_MAX); @@ -128,7 +129,14 @@ int mkmanifest_interface(int argc, char **argv) { return -2; } - return manifest_write(manifest, path); + result = manifest_write(manifest, path); + if (result != 0) { + manifest_free(manifest); + return -3; + } + + manifest_free(manifest); + return result; } /** @@ -219,7 +227,7 @@ int rpath_autoset_interface(int argc, char **argv) { */ void internal_command_list(void) { printf("possible commands:\n"); - for (int i = 0; internal_commands[i] != NULL; i++) { + for (size_t i = 0; internal_commands[i] != NULL; i++) { // TODO: fix double increment warning (i++ becomes i+2?) printf(" %-20s - %-20s\n", internal_commands[i], internal_commands[i + 1]); i++; } |