Patchwork [MTD-UTILS] Allow an absent 'image' in the ubinize configuration.

login
register
mail settings
Submitter Richard Titmuss
Date Sept. 23, 2008, 8:32 p.m.
Message ID <48D9524A.3050300@logitech.com>
Download mbox | patch
Permalink /patch/1171/
State Accepted
Headers show

Comments

Richard Titmuss - Sept. 23, 2008, 8:32 p.m.
Hi,

Some recent changes to ubinize prevent the 'image' parameter from being 
absent in the configuration file. The following patch fixes that.

Signed-off-by: Richard Titmuss <richard.titmuss@logitech.com>

 
         if (args.verbose)
Artem Bityutskiy - Sept. 24, 2008, 6:59 a.m.
On Tue, 2008-09-23 at 21:32 +0100, Richard Titmuss wrote:
> Some recent changes to ubinize prevent the 'image' parameter from being 
> absent in the configuration file. The following patch fixes that.
> 
> Signed-off-by: Richard Titmuss <richard.titmuss@logitech.com>

The patch did not apply cleanly, probably because your e-mail client
wrapped it. But after some hand-work I've applied it and pushed.

Thanks.

Patch

diff --git a/ubi-utils/new-utils/src/ubinize.c 
b/ubi-utils/new-utils/src/ubinize.c
index 5115db3..ebd5aa0 100644
--- a/ubi-utils/new-utils/src/ubinize.c
+++ b/ubi-utils/new-utils/src/ubinize.c
@@ -561,20 +561,22 @@  int main(int argc, char * const argv[])
             goto out_free;
         }
 
-        fd = open(img, O_RDONLY);
-        if (fd == -1) {
-            sys_errmsg("cannot open \"%s\"", img);
-            goto out_free;
-        }
+        if (img) {
+            fd = open(img, O_RDONLY);
+            if (fd == -1) {
+                sys_errmsg("cannot open \"%s\"", img);
+                goto out_free;
+            }
 
-        verbose(args.verbose, "writing volume %d", vi[i].id);
-        verbose(args.verbose, "image file: %s", img);
+            verbose(args.verbose, "writing volume %d", vi[i].id);
+            verbose(args.verbose, "image file: %s", img);
 
-        err = ubigen_write_volume(&ui, &vi[i], args.ec, st.st_size, fd, 
args.out_fd);
-        close(fd);
-        if (err) {
-            errmsg("cannot write volume for section \"%s\"", sname);
-            goto out_free;
+            err = ubigen_write_volume(&ui, &vi[i], args.ec, st.st_size, 
fd, args.out_fd);
+            close(fd);
+            if (err) {
+                errmsg("cannot write volume for section \"%s\"", sname);
+                goto out_free;
+            }
         }