diff mbox

mtd-utils: ubinize: Always return error code (at least -1) in case of an error

Message ID 1441978093-20917-1-git-send-email-ejo@pengutronix.de
State Accepted
Commit 5f50207231414bfdbac8f0f974a2824f24177d6e
Headers show

Commit Message

Enrico Jorns Sept. 11, 2015, 1:28 p.m. UTC
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>
---
 ubi-utils/ubinize.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Enrico Jorns Sept. 29, 2015, 1:20 p.m. UTC | #1
Any comments on this?

On 09/11/2015 03:28 PM, Enrico Jorns wrote:
> 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>
> ---
>   ubi-utils/ubinize.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/ubi-utils/ubinize.c b/ubi-utils/ubinize.c
> index 34f465a..60bbd9a 100644
> --- a/ubi-utils/ubinize.c
> +++ b/ubi-utils/ubinize.c
> @@ -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;
>   			}
>
Richard Weinberger Sept. 29, 2015, 1:40 p.m. UTC | #2
On Tue, Sep 29, 2015 at 3:20 PM, Enrico Joerns <ejo@pengutronix.de> wrote:
> Any comments on this?

Looks good to me!
Brian Norris Sept. 29, 2015, 7:20 p.m. UTC | #3
On Tue, Sep 29, 2015 at 03:40:38PM +0200, Richard Weinberger wrote:
> On Tue, Sep 29, 2015 at 3:20 PM, Enrico Joerns <ejo@pengutronix.de> wrote:
> > Any comments on this?
> 
> Looks good to me!

Pushed to mtd-utils.git.
diff mbox

Patch

diff --git a/ubi-utils/ubinize.c b/ubi-utils/ubinize.c
index 34f465a..60bbd9a 100644
--- a/ubi-utils/ubinize.c
+++ b/ubi-utils/ubinize.c
@@ -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;
 			}