Patchwork makedevs: rectify the exit codes and handle the invalid parameter

login
register
mail settings
Submitter rongqing.li@windriver.com
Date Sept. 25, 2013, 5:58 a.m.
Message ID <1380088716-12512-1-git-send-email-rongqing.li@windriver.com>
Download mbox | patch
Permalink /patch/58957/
State Accepted
Commit 7c61daa08fa51557e0e6785e738646cb5d8de91b
Headers show

Comments

rongqing.li@windriver.com - Sept. 25, 2013, 5:58 a.m.
From: Roy Li <rongqing.li@windriver.com>

It is correct behaviours to output help and version information,
and should return 0;
When input parameter is invalid, print help information and exit.

Signed-off-by: Roy Li <rongqing.li@windriver.com>
---
 meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
Khem Raj - Sept. 25, 2013, 2:27 p.m.
On Tuesday, September 24, 2013, wrote:

> From: Roy Li <rongqing.li@windriver.com <javascript:;>>
>
> It is correct behaviours to output help and version information,
> and should return 0;
> When input parameter is invalid, print help information and exit.


This can cause gripes for systems who have scripted the old behavior
And since it's a user visible change I would suggest to get it accepted
upstream before
It's applied in openembedded


> Signed-off-by: Roy Li <rongqing.li@windriver.com <javascript:;>>
> ---
>  meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c |    9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c
> b/meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c
> index cc3707b..5d2c45b 100644
> --- a/meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c
> +++ b/meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c
> @@ -465,8 +465,8 @@ int main(int argc, char **argv)
>                                 error_msg_and_die("%s: not a proper device
> table file", optarg);
>                         break;
>                 case 'h':
> -                       fprintf(stderr, helptext);
> -                       exit(1);
> +                       printf(helptext);
> +                       exit(0);
>                 case 'r':
>                 case 'd':                               /* for
> compatibility with mkfs.jffs, genext2fs, etc... */
>                         if (rootdir != default_rootdir) {
> @@ -476,8 +476,11 @@ int main(int argc, char **argv)
>                         break;
>
>                 case 'v':
> -                       fprintf(stderr, "makedevs revision %.*s\n",
> +                       printf("makedevs revision %.*s\n",
>                                         (int) strlen(revtext) - 13,
> revtext + 11);
> +                       exit(0);
> +               default:
> +                       fprintf(stderr, helptext);
>                         exit(1);
>                 }
>         }
> --
> 1.7.10.4
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org <javascript:;>
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
Richard Purdie - Sept. 25, 2013, 2:55 p.m.
On Wed, 2013-09-25 at 07:27 -0700, Khem Raj wrote:
> On Tuesday, September 24, 2013, wrote:
>         From: Roy Li <rongqing.li@windriver.com>
>         
>         It is correct behaviours to output help and version
>         information,
>         and should return 0;
>         When input parameter is invalid, print help information and
>         exit.

>
> This can cause gripes for systems who have scripted the old behavior
> And since it's a user visible change I would suggest to get it
> accepted upstream before 
> It's applied in openembedded 
> 
I think we have our own copy of this particular C file so we are the
upstream...

Cheers,

Richard
Khem Raj - Sept. 25, 2013, 3:50 p.m.
On Wednesday, September 25, 2013, Richard Purdie wrote:

> On Wed, 2013-09-25 at 07:27 -0700, Khem Raj wrote:
> > On Tuesday, September 24, 2013, wrote:
> >         From: Roy Li <rongqing.li@windriver.com <javascript:;>>
> >
> >         It is correct behaviours to output help and version
> >         information,
> >         and should return 0;
> >         When input parameter is invalid, print help information and
> >         exit.
>
> >
> > This can cause gripes for systems who have scripted the old behavior
> > And since it's a user visible change I would suggest to get it
> > accepted upstream before
> > It's applied in openembedded
> >
> I think we have our own copy of this particular C file so we are the
> upstream...


Likewise you can have copies of anything and call it upstream this file
also exists in busybox
And I would think there are people using that version too. If others are
syncing from this version
Then it's fine otherwise people migrating to oe will have yet another thing
to deal with.


> Cheers,
>
> Richard
>
>
>

Patch

diff --git a/meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c b/meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c
index cc3707b..5d2c45b 100644
--- a/meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c
+++ b/meta/recipes-devtools/makedevs/makedevs-1.0.0/makedevs.c
@@ -465,8 +465,8 @@  int main(int argc, char **argv)
 				error_msg_and_die("%s: not a proper device table file", optarg);
 			break;
 		case 'h':
-			fprintf(stderr, helptext);
-			exit(1);
+			printf(helptext);
+			exit(0);
 		case 'r':
 		case 'd':				/* for compatibility with mkfs.jffs, genext2fs, etc... */
 			if (rootdir != default_rootdir) {
@@ -476,8 +476,11 @@  int main(int argc, char **argv)
 			break;
 
 		case 'v':
-			fprintf(stderr, "makedevs revision %.*s\n",
+			printf("makedevs revision %.*s\n",
 					(int) strlen(revtext) - 13, revtext + 11);
+			exit(0);
+		default:
+			fprintf(stderr, helptext);
 			exit(1);
 		}
 	}