]> www.infradead.org Git - mtd-utils.git/commitdiff
mtdinfo: provide info when used without arguments
authorBrian Norris <computersforpeace@gmail.com>
Wed, 16 Nov 2011 20:03:57 +0000 (12:03 -0800)
committerArtem Bityutskiy <Artem.Bityutskiy@intel.com>
Thu, 17 Nov 2011 22:22:11 +0000 (00:22 +0200)
If the user specifies neither a MTD argument nor the `-a' flag, we print
a cryptic message; i.e.,

    # mtdinfo
    libmtd: error!: cannot get information about "(null)"
            error 14 (Bad address)
    mtdinfo: error!: cannot get information about MTD device "(null)"
             error 14 (Bad address)

This is a regression; previously, mtdinfo would give some short info
about number of devices, etc. when used without arguments. To fix this,
we revert commit d53c03b0989f8354a7e4dbb947a150fc7fe3f6d1 and call
print_general_info() when no device is specified.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@intel.com>
ubi-utils/mtdinfo.c

index d919673b0d98b2ebacb19e728e2540eb830ae1cf..ead4bce2620ff2bda42e0d29be1ef3348852c749 100644 (file)
@@ -340,7 +340,8 @@ static int print_dev_info(libmtd_t libmtd, const struct mtd_info *mtd_info, int
        return 0;
 }
 
-static int print_general_info(libmtd_t libmtd, const struct mtd_info *mtd_info)
+static int print_general_info(libmtd_t libmtd, const struct mtd_info *mtd_info,
+                             int all)
 {
        int i, err, first = 1;
        struct mtd_dev_info mtd;
@@ -367,9 +368,14 @@ static int print_general_info(libmtd_t libmtd, const struct mtd_info *mtd_info)
                }
        }
        printf("\n");
-       printf("Sysfs interface supported:      %s\n\n",
+       printf("Sysfs interface supported:      %s\n",
               mtd_info->sysfs_supported ? "yes" : "no");
 
+       if (!all)
+               return 0;
+
+       printf("\n");
+
        for (i = mtd_info->lowest_mtd_num;
             i <= mtd_info->highest_mtd_num; i++) {
                err = print_dev_info(libmtd, mtd_info, i);
@@ -404,7 +410,7 @@ int main(int argc, char * const argv[])
                return sys_errmsg("cannot get MTD information");
        }
 
-       if (!args.all) {
+       if (!args.all && args.node) {
                int mtdn;
 
                /*
@@ -416,7 +422,7 @@ int main(int argc, char * const argv[])
                        goto out_libmtd;
                err = print_dev_info(libmtd, &mtd_info, mtdn);
        } else
-               err = print_general_info(libmtd, &mtd_info);
+               err = print_general_info(libmtd, &mtd_info, args.all);
        if (err)
                goto out_libmtd;