change the hardcoded error constant (0x80000000UL) to a nice flexible define (BB_GETOPT_ERROR)

This commit is contained in:
Mike Frysinger 2005-05-11 00:39:03 +00:00
parent 55e2cf6533
commit 348e84c202
11 changed files with 13 additions and 12 deletions

View File

@ -70,7 +70,7 @@ extern int ar_main(int argc, char **argv)
bb_opt_complementaly = "p~tx:t~px:x~pt"; bb_opt_complementaly = "p~tx:t~px:x~pt";
opt = bb_getopt_ulflags(argc, argv, "ptxovcr"); opt = bb_getopt_ulflags(argc, argv, "ptxovcr");
if ((opt & 0x80000000UL) || (opt == 0) || (optind == argc)) { if ((opt & BB_GETOPT_ERROR) || (opt == 0) || (optind == argc)) {
bb_show_usage(); bb_show_usage();
} }

View File

@ -88,7 +88,7 @@ extern int dpkg_deb_main(int argc, char **argv)
argcount = 2; argcount = 2;
} }
if ((optind + argcount != argc) || (opt & 0x80000000UL)) { if ((optind + argcount != argc) || (opt & BB_GETOPT_ERROR)) {
bb_show_usage(); bb_show_usage();
} }

View File

@ -724,7 +724,7 @@ int tar_main(int argc, char **argv)
); );
/* Check one and only one context option was given */ /* Check one and only one context option was given */
if(opt & 0x80000000UL) { if(opt & BB_GETOPT_ERROR) {
bb_show_usage(); bb_show_usage();
} }
#ifdef CONFIG_FEATURE_TAR_CREATE #ifdef CONFIG_FEATURE_TAR_CREATE

View File

@ -300,7 +300,7 @@ extern int cut_main(int argc, char **argv)
part = opt & (OPT_BYTE_FLGS|OPT_CHAR_FLGS|OPT_FIELDS_FLGS); part = opt & (OPT_BYTE_FLGS|OPT_CHAR_FLGS|OPT_FIELDS_FLGS);
if(part == 0) if(part == 0)
bb_error_msg_and_die("you must specify a list of bytes, characters, or fields"); bb_error_msg_and_die("you must specify a list of bytes, characters, or fields");
if(opt & 0x80000000UL) if(opt & BB_GETOPT_ERROR)
bb_error_msg_and_die("only one type of list may be specified"); bb_error_msg_and_die("only one type of list may be specified");
parse_lists(sopt); parse_lists(sopt);
if((opt & (OPT_DELIM_FLGS))) { if((opt & (OPT_DELIM_FLGS))) {

View File

@ -166,7 +166,7 @@ int date_main(int argc, char **argv)
bb_error_msg_and_die(bb_msg_memory_exhausted); bb_error_msg_and_die(bb_msg_memory_exhausted);
} }
use_arg = opt & DATE_OPT_DATE; use_arg = opt & DATE_OPT_DATE;
if(opt & 0x80000000UL) if(opt & BB_GETOPT_ERROR)
bb_show_usage(); bb_show_usage();
#ifdef CONFIG_FEATURE_DATE_ISOFMT #ifdef CONFIG_FEATURE_DATE_ISOFMT
if(opt & DATE_OPT_TIMESPEC) { if(opt & DATE_OPT_TIMESPEC) {

View File

@ -64,7 +64,7 @@ extern int id_main(int argc, char **argv)
bb_opt_complementaly = "u~g:g~u"; bb_opt_complementaly = "u~g:g~u";
flags = bb_getopt_ulflags(argc, argv, "rnug"); flags = bb_getopt_ulflags(argc, argv, "rnug");
if ((flags & 0x80000000UL) if ((flags & BB_GETOPT_ERROR)
/* Don't allow -n -r -nr */ /* Don't allow -n -r -nr */
|| (flags <= 3 && flags > 0) || (flags <= 3 && flags > 0)
/* Don't allow more than one username */ /* Don't allow more than one username */

View File

@ -69,7 +69,7 @@ extern int install_main(int argc, char **argv)
flags = bb_getopt_ulflags(argc, argv, "cdpsg:m:o:", &gid_str, &mode_str, &uid_str); /* 'a' must be 2nd */ flags = bb_getopt_ulflags(argc, argv, "cdpsg:m:o:", &gid_str, &mode_str, &uid_str); /* 'a' must be 2nd */
/* Check valid options were given */ /* Check valid options were given */
if(flags & 0x80000000UL) { if(flags & BB_GETOPT_ERROR) {
bb_show_usage(); bb_show_usage();
} }

View File

@ -238,7 +238,7 @@ start_stop_daemon_main(int argc, char **argv)
&startas, &cmdname, &signame, &userspec, &execname, &pidfile); &startas, &cmdname, &signame, &userspec, &execname, &pidfile);
/* Check one and only one context option was given */ /* Check one and only one context option was given */
if ((opt & 0x80000000UL) || (opt & (SSD_CTX_STOP | SSD_CTX_START)) == 0) { if ((opt & BB_GETOPT_ERROR) || (opt & (SSD_CTX_STOP | SSD_CTX_START)) == 0) {
bb_show_usage(); bb_show_usage();
} }

View File

@ -151,6 +151,7 @@ extern FILE *bb_xfopen(const char *path, const char *mode);
extern int bb_fclose_nonstdin(FILE *f); extern int bb_fclose_nonstdin(FILE *f);
extern void bb_fflush_stdout_and_exit(int retval) __attribute__ ((noreturn)); extern void bb_fflush_stdout_and_exit(int retval) __attribute__ ((noreturn));
#define BB_GETOPT_ERROR 0x80000000UL
extern const char *bb_opt_complementaly; extern const char *bb_opt_complementaly;
extern const struct option *bb_applet_long_options; extern const struct option *bb_applet_long_options;
extern unsigned long bb_getopt_ulflags(int argc, char **argv, const char *applet_opts, ...); extern unsigned long bb_getopt_ulflags(int argc, char **argv, const char *applet_opts, ...);

View File

@ -155,10 +155,10 @@ Special characters:
if specified together. In this case you must set if specified together. In this case you must set
bb_opt_complementaly = "b~cf:c~bf:f~bc". If two of the bb_opt_complementaly = "b~cf:c~bf:f~bc". If two of the
mutually exclusive options are found, bb_getopt_ulflags's mutually exclusive options are found, bb_getopt_ulflags's
return value will have the error flag set (0x80000000UL) so return value will have the error flag set (BB_GETOPT_ERROR) so
that we can check for it: that we can check for it:
if (flags & 0x80000000UL) if (flags & BB_GETOPT_ERROR)
bb_show_usage(); bb_show_usage();
"*" A star after a char in bb_opt_complementaly means that the "*" A star after a char in bb_opt_complementaly means that the
@ -280,7 +280,7 @@ bb_getopt_ulflags (int argc, char **argv, const char *applet_opts, ...)
bb_show_usage (); bb_show_usage ();
} }
if(flags & on_off->incongruously) if(flags & on_off->incongruously)
flags |= 0x80000000UL; flags |= BB_GETOPT_ERROR;
flags &= ~on_off->switch_off; flags &= ~on_off->switch_off;
flags |= on_off->switch_on; flags |= on_off->switch_on;
if(on_off->list_flg) { if(on_off->list_flg) {

View File

@ -208,7 +208,7 @@ static const struct option hwclock_long_options[] = {
bb_opt_complementaly = "r~ws:w~rs:s~wr:l~u:u~l"; bb_opt_complementaly = "r~ws:w~rs:s~wr:l~u:u~l";
opt = bb_getopt_ulflags(argc, argv, "lursw"); opt = bb_getopt_ulflags(argc, argv, "lursw");
/* Check only one mode was given */ /* Check only one mode was given */
if(opt & 0x80000000UL) { if(opt & BB_GETOPT_ERROR) {
bb_show_usage(); bb_show_usage();
} }