----- Original Message -----
> From: "Ivana Varekova" <varek...@redhat.com>
> To: "Libo Chen" <libo.c...@huawei.com>
> Cc: "wengmeiling weng" <wengmeiling.w...@huawei.com>, lize...@huawei.com, 
> libcg-devel@lists.sourceforge.net,
> jsafr...@redhat.com
> Sent: Wednesday, September 4, 2013 10:01:35 PM
> Subject: Re: [Libcg-devel] [PATCH v3 5/8] cgconfig: change function usage     
> behavior
> 
> 
> 
> ----- Original Message -----
> > From: "Libo Chen" <libo.c...@huawei.com>
> > To: varek...@redhat.com
> > Cc: "dhaval giani" <dhaval.gi...@gmail.com>, jsafr...@redhat.com,
> > libcg-devel@lists.sourceforge.net,
> > lize...@huawei.com, "h huangqiang" <h.huangqi...@huawei.com>, "wengmeiling
> > weng" <wengmeiling.w...@huawei.com>,
> > "libo chen" <libo.c...@huawei.com>
> > Sent: Tuesday, September 3, 2013 10:49:18 AM
> > Subject: [PATCH v3 5/8] cgconfig: change function usage behavior
> > 
> > From: Libo Chen <clbchenlibo.c...@huawei.com>
> > 
> > remove exit from function usage and add a structure like usage function
> > in the other tools.
> > This is suggested by Ivana Hutarova Varekova <varek...@redhat.com>
> > 
> > now usage willn't exit, so we should help it in err case.
> > 
> > Signed-off-by: Libo Chen <clbchenlibo.c...@huawei.com>
> > ---
> >  src/tools/cgconfig.c |   46 +++++++++++++++++++++++++++-------------------
> >  1 files changed, 27 insertions(+), 19 deletions(-)
> > 
> > diff --git a/src/tools/cgconfig.c b/src/tools/cgconfig.c
> > index 095fe27..c856a91 100644
> > --- a/src/tools/cgconfig.c
> > +++ b/src/tools/cgconfig.c
> > @@ -35,29 +35,33 @@
> >  
> >  static struct cgroup_string_list cfg_files;
> >  
> > -static void usage(char *progname)
> > +static void usage(int status, char *progname)
> >  {
> > -   printf("Usage: %s [-h] [-f mode] [-d mode] [-s mode] "\
> > +   if (status != 0) {
> > +           fprintf(stderr, "Wrong input parameters,"
> > +                   " try %s -h' for more information.\n", progname);
> > +   } else {
> > +           printf("Usage: %s [-h] [-f mode] [-d mode] [-s mode] "\
> >                     "[-t <tuid>:<tgid>] [-a <agid>:<auid>] "\
> >                     "[-l FILE] [-L DIR] ...\n", basename(progname));
> > -   printf("Parse and load the specified cgroups configuration file\n");
> > -   printf("\n");
> > -   printf("  -h, --help                    Display this help\n");
> > -   printf("  -l, --load=FILE               Parse and load the cgroups"\
> > +           printf("Parse and load the specified cgroups configuration 
> > file\n");
> > +           printf("\n");
> > +           printf("  -h, --help                    Display this help\n");
> > +           printf("  -l, --load=FILE               Parse and load the 
> > cgroups"\
> >                     " configuration file\n");
> > -   printf("  -L, --load-directory=DIR      Parse and load the cgroups"\
> > +           printf("  -L, --load-directory=DIR      Parse and load the 
> > cgroups"\
> >                     " configuration files from a directory\n");
> > -   printf("  -a <tuid>:<tgid>              Default owner of groups files"\
> > +           printf("  -a <tuid>:<tgid>              Default owner of groups 
> > files"\
> >                     " and directories\n");
> > -   printf("  -d, --dperm=mode              Default group directory"\
> > +           printf("  -d, --dperm=mode              Default group 
> > directory"\
> >                     " permissions\n");
> > -   printf("  -f, --fperm=mode              Default group file"\
> > +           printf("  -f, --fperm=mode              Default group file"\
> >                     " permissions\n");
> > -   printf("  -s, --tperm=mode              Default tasks file"
> > +           printf("  -s, --tperm=mode              Default tasks file"\
> >                     " permissions\n");
> > -   printf("  -t <tuid>:<tgid>              Default owner of the tasks "
> > +           printf("  -t <tuid>:<tgid>              Default owner of the 
> > tasks "\
> >                     "file\n");
> > -   exit(2);
> > +   }
> 
> 
> only small change - the rows should have less or equal to  80 characters (see
> checkpatch.pl)
> >  }
> >  
> >  int main(int argc, char *argv[])
> > @@ -86,8 +90,10 @@ int main(int argc, char *argv[])
> >  
> >     cgroup_set_default_logger(-1);
> >  
> > -   if (argc < 2)
> > -           usage(argv[0]); /* usage() exits */
> > +   if (argc < 2) {
> > +           usage(1, argv[0]);
> > +           return -1;
> > +   }
> >  
> >     error = cgroup_string_list_init(&cfg_files, argc/2);
> >  
> > @@ -95,8 +101,9 @@ int main(int argc, char *argv[])
> >                     NULL)) > 0) {
> >             switch (c) {
> >             case 'h':
> > -                   usage(argv[0]);
> > -                   break;
> > +                   usage(0, argv[0]);
> > +                   error = 0;
> > +                   goto err;
> <- cgroup_free(&default_group); is useless here
This comment is fixed by 7/8, thus my comment is useless :)
> 
> >             case 'l':
> >                     error = cgroup_string_list_add_item(&cfg_files, optarg);
> >                     if (error) {
> > @@ -138,8 +145,9 @@ int main(int argc, char *argv[])
> >                             goto err;
> >                     break;
> >             default:
> > -                   usage(argv[0]);
> > -                   break;
> > +                   usage(1, argv[0]);
> > +                   error = -1;
> > +                   goto err;
> >             }
> >     }
> >  
> > --
> > 1.7.1
> > 
> > 
> > 
> 
> ------------------------------------------------------------------------------
> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> Discover the easy way to master current and previous Microsoft technologies
> and advance your career. Get an incredible 1,500+ hours of step-by-step
> tutorial videos with LearnDevNow. Subscribe today and save!
> http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
> _______________________________________________
> Libcg-devel mailing list
> Libcg-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libcg-devel
> 

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
Libcg-devel mailing list
Libcg-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to