]> www.infradead.org Git - mtd-utils.git/commitdiff
mtd-utils: ubinize: Always return error code (at least -1) in case of an error
authorEnrico Jorns <ejo@pengutronix.de>
Fri, 11 Sep 2015 13:28:13 +0000 (15:28 +0200)
committerBrian Norris <computersforpeace@gmail.com>
Tue, 29 Sep 2015 18:46:41 +0000 (11:46 -0700)
ubinize should not fail silenty, this can be very annoying when using
it from other tools that rely on the exit code for determining the
success of their operation.

Signed-off-by: Enrico Jorns <ejo@pengutronix.de>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
ubi-utils/ubinize.c

index 34f465aabca0cdb4e2c71c157320cc3b23d7493d..60bbd9aa388bf64422acb429f08c3ff6a184ae77 100644 (file)
@@ -519,6 +519,7 @@ int main(int argc, char * const argv[])
         */
        seek = ui.peb_size * 2;
        if (lseek(args.out_fd, seek, SEEK_SET) != seek) {
+               err = -1;
                sys_errmsg("cannot seek file \"%s\"", args.f_out);
                goto out_free;
        }
@@ -530,6 +531,7 @@ int main(int argc, char * const argv[])
                int fd, j;
 
                if (!sname) {
+                       err = -1;
                        errmsg("ini-file parsing error (iniparser_getsecname)");
                        goto out_free;
                }
@@ -550,6 +552,7 @@ int main(int argc, char * const argv[])
                 */
                for (j = 0; j < i; j++) {
                        if (vi[i].id == vi[j].id) {
+                               err = -1;
                                errmsg("volume IDs must be unique, but ID %d "
                                       "in section \"%s\" is not",
                                       vi[i].id, sname);
@@ -557,6 +560,7 @@ int main(int argc, char * const argv[])
                        }
 
                        if (!strcmp(vi[i].name, vi[j].name)) {
+                               err = -1;
                                errmsg("volume name must be unique, but name "
                                       "\"%s\" in section \"%s\" is not",
                                       vi[i].name, sname);
@@ -580,6 +584,7 @@ int main(int argc, char * const argv[])
                if (img) {
                        fd = open(img, O_RDONLY);
                        if (fd == -1) {
+                               err = fd;
                                sys_errmsg("cannot open \"%s\"", img);
                                goto out_free;
                        }