X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/fad131f967cbb1ba415fca80e90361e5e9ed7a48..271da7f4e93492f377c0fcf25def4591d60b9fbc:/package/nvram/src/cli.c?ds=sidebyside diff --git a/package/nvram/src/cli.c b/package/nvram/src/cli.c index 953910cd6..66ef90488 100644 --- a/package/nvram/src/cli.c +++ b/package/nvram/src/cli.c @@ -111,6 +111,7 @@ static int do_info(nvram_handle_t *nvram) /* Show info */ printf("Magic: 0x%08X\n", hdr->magic); printf("Length: 0x%08X\n", hdr->len); + printf("Offset: 0x%08X\n", nvram->offset); printf("CRC8: 0x%02X (calculated: 0x%02X)\n", hdr->crc_ver_init & 0xFF, crc); @@ -165,20 +166,32 @@ int main( int argc, const char *argv[] ) stat = do_info(nvram); done++; } - else if( !strcmp(argv[i], "get") && ++i < argc ) + else if( !strcmp(argv[i], "get") || !strcmp(argv[i], "unset") || !strcmp(argv[i], "set") ) { - stat = do_get(nvram, argv[i]); - done++; - } - else if( !strcmp(argv[i], "unset") && ++i < argc ) - { - stat = do_unset(nvram, argv[i]); - done++; - } - else if( !strcmp(argv[i], "set") && ++i < argc ) - { - stat = do_set(nvram, argv[i]); - done++; + if( (i+1) < argc ) + { + switch(argv[i++][0]) + { + case 'g': + stat = do_get(nvram, argv[i]); + break; + + case 'u': + stat = do_unset(nvram, argv[i]); + break; + + case 's': + stat = do_set(nvram, argv[i]); + break; + } + done++; + } + else + { + fprintf(stderr, "Command '%s' requires an argument!\n", argv[i]); + done = 0; + break; + } } else if( !strcmp(argv[i], "commit") ) {