diff --git a/commands/nand.c b/commands/nand.c index b065a66..c57b394 100644 --- a/commands/nand.c +++ b/commands/nand.c @@ -41,7 +41,7 @@ int command = 0; loff_t badblock = 0; int fd; - int ret; + int ret = 0; struct mtd_info_user mtdinfo; while((opt = getopt(argc, argv, "adb:g:i")) > 0) { @@ -88,13 +88,18 @@ optind++; } + + goto out_ret; } if (command == NAND_DEL) { while (optind < argc) { - dev_remove_bb_dev(basename(argv[optind])); + if (dev_remove_bb_dev(basename(argv[optind]))) + return 1; optind++; } + + goto out_ret; } fd = open(argv[optind], O_RDWR); @@ -149,10 +154,10 @@ printf("No bad blocks\n"); } - ret = 0; out: close(fd); +out_ret: return ret; }