diff options
author | David Sterba <dsterba@suse.cz> | 2015-06-08 23:30:21 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2015-06-09 13:32:32 +0200 |
commit | 54003d7ee6c71011ec41a5e4e557ec6c83a831de (patch) | |
tree | 460d37aec4b614740bd3c87a43f1786e992c561b | |
parent | e99303c381b4041f8b5fce6f757242c5f1162c76 (diff) |
btrfs-progs: fix argv0_buf handling
The variable argv0_buf was duplicated and the changes done in utils.c
were not propagated to help.c. So if an unknown commandline token was
found, the error message did not contain the known part:
$ btrfs scrub test
: unknown token 'test'
instead of
$ btrfs scrub test
btrfs scrub: uknown token 'test'
Signed-off-by: David Sterba <dsterba@suse.cz>
-rw-r--r-- | help.c | 6 | ||||
-rw-r--r-- | utils.c | 5 | ||||
-rw-r--r-- | utils.h | 2 |
3 files changed, 9 insertions, 4 deletions
@@ -22,8 +22,6 @@ #include "commands.h" #include "utils.h" -static char argv0_buf[ARGV0_BUF_SIZE]; - #define USAGE_SHORT 1U #define USAGE_LONG 2U #define USAGE_OPTIONS 4U @@ -183,7 +181,7 @@ void usage_command_group(const struct cmd_group *grp, int full, int err) void help_unknown_token(const char *arg, const struct cmd_group *grp) { - fprintf(stderr, "%s: unknown token '%s'\n", argv0_buf, arg); + fprintf(stderr, "%s: unknown token '%s'\n", get_argv0_buf(), arg); usage_command_group(grp, 0, 1); exit(1); } @@ -192,7 +190,7 @@ void help_ambiguous_token(const char *arg, const struct cmd_group *grp) { const struct cmd_struct *cmd = grp->commands; - fprintf(stderr, "%s: ambiguous token '%s'\n", argv0_buf, arg); + fprintf(stderr, "%s: ambiguous token '%s'\n", get_argv0_buf(), arg); fprintf(stderr, "\nDid you mean one of these ?\n"); for (; cmd->token; cmd++) { @@ -54,6 +54,11 @@ static int btrfs_scan_done = 0; static char argv0_buf[ARGV0_BUF_SIZE] = "btrfs"; +const char *get_argv0_buf(void) +{ + return argv0_buf; +} + void fixup_argv0(char **argv, const char *token) { int len = strlen(argv0_buf); @@ -235,4 +235,6 @@ static inline u64 div_factor(u64 num, int factor) int btrfs_tree_search2_ioctl_supported(int fd); int btrfs_check_nodesize(u32 nodesize, u32 sectorsize); +const char *get_argv0_buf(void); + #endif |