btrfs-progs: new helper for option parsing, more permissive for "no options"

Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2016-06-16 13:27:18 +02:00
parent 68702ea009
commit 18c6850fe1
2 changed files with 20 additions and 0 deletions

18
utils.c
View File

@ -3930,6 +3930,24 @@ void clean_args_no_options(int argc, char *argv[], const char * const *usagestr)
}
}
/*
* Same as clean_args_no_options but pass through arguments that could look
* like short options. Eg. reisze which takes a negative resize argument like
* '-123M' .
*
* This accepts only two forms:
* - "-- option1 option2 ..."
* - "option1 option2 ..."
*/
void clean_args_no_options_relaxed(int argc, char *argv[], const char * const *usagestr)
{
if (argc <= 1)
return;
if (strcmp(argv[1], "--") == 0)
optind = 2;
}
/* Subvolume helper functions */
/*
* test if name is a correct subvolume name

View File

@ -303,6 +303,8 @@ const char *get_argv0_buf(void);
unsigned int get_unit_mode_from_arg(int *argc, char *argv[], int df_mode);
void clean_args_no_options(int argc, char *argv[], const char * const *usage);
void clean_args_no_options_relaxed(int argc, char *argv[],
const char * const *usagestr);
int string_is_numerical(const char *str);
__attribute__ ((format (printf, 1, 2)))