X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=miscutils%2Fnandwrite.c;h=29c800612467057dd6fd603fa4336e82c2b07517;hb=4c9455f967e21d30db0de2e13b6e1115ab8f36ce;hp=14b1ed056fb7bf69069e1960770e7dc33b911bc8;hpb=72089cf6b4a77214ec4fd21d5ee5bf56958781cb;p=oweals%2Fbusybox.git diff --git a/miscutils/nandwrite.c b/miscutils/nandwrite.c index 14b1ed056..29c800612 100644 --- a/miscutils/nandwrite.c +++ b/miscutils/nandwrite.c @@ -7,7 +7,6 @@ * * TODO: add support for large (>4GB) MTD devices */ - //config:config NANDWRITE //config: bool "nandwrite (5.9 kb)" //config: default y @@ -54,6 +53,15 @@ #include "libbb.h" #include +/* Old headers call it MTD_MODE_RAW. + * FIXME: In kernel headers, MTD_FILE_MODE_RAW is not a define, + * it's an enum. How I can test for existence of an enum? + */ +#if !defined(MTD_FILE_MODE_RAW) +# define MTD_FILE_MODE_RAW 3 +#endif + + #define IS_NANDDUMP (ENABLE_NANDDUMP && (!ENABLE_NANDWRITE || (applet_name[4] == 'd'))) #define IS_NANDWRITE (ENABLE_NANDWRITE && (!ENABLE_NANDDUMP || (applet_name[4] != 'd'))) @@ -123,15 +131,12 @@ int nandwrite_main(int argc UNUSED_PARAM, char **argv) const char *opt_s = "0", *opt_f = "-", *opt_l, *opt_bb; if (IS_NANDDUMP) { - opt_complementary = "=1"; -#if ENABLE_LONG_OPTS - applet_long_options = - "bb\0" Required_argument "\xff"; /* no short equivalent */ -#endif - opts = getopt32(argv, "ons:f:l:", &opt_s, &opt_f, &opt_l, &opt_bb); + opts = getopt32long(argv, "^" "ons:f:l:" "\0" "=1", + "bb\0" Required_argument "\xff", /* no short equivalent */ + &opt_s, &opt_f, &opt_l, &opt_bb + ); } else { /* nandwrite */ - opt_complementary = "-1:?2"; - opts = getopt32(argv, "pns:", &opt_s); + opts = getopt32(argv, "^" "pns:" "\0" "-1:?2", &opt_s); } argv += optind;