Fixed, thanks!

2016-11-09 9:39 GMT+08:00 Bruce Evans <b...@optusnet.com.au>:

> On Tue, 8 Nov 2016, Renato Botelho wrote:
>
> On 8 Nov 2016, at 09:36, Marcelo Araujo <ara...@freebsd.org> wrote:
>>>
>>> Log:
>>>  Add -d flag that prints domain only.
>>>
>>>  PR:            212875
>>>  Submitted by:  Ben RUBSON <ben.rub...@gmail.com>
>>>  Reviewed by:   pi
>>>
>>
> This has many style bugs.
>
>
> Modified:
>>>  head/bin/hostname/hostname.1
>>>  head/bin/hostname/hostname.c
>>>
>>> Modified: head/bin/hostname/hostname.1
>>> ============================================================
>>> ==================
>>> --- head/bin/hostname/hostname.1        Tue Nov  8 10:10:55 2016
>>> (r308442)
>>> +++ head/bin/hostname/hostname.1        Tue Nov  8 11:36:33 2016
>>> (r308443)
>>> @@ -29,7 +29,7 @@
>>> .\"     @(#)hostname.1  8.2 (Berkeley) 4/28/95
>>> .\" $FreeBSD$
>>> .\"
>>> -.Dd December 7, 2006
>>> +.Dd November 9, 2016
>>> .Dt HOSTNAME 1
>>> .Os
>>> .Sh NAME
>>> @@ -37,7 +37,8 @@
>>> .Nd set or print name of current host system
>>> .Sh SYNOPSIS
>>> .Nm
>>> -.Op Fl fs
>>> +.Op Fl f
>>> +.Op Fl s|d
>>> .Op Ar name-of-host
>>> .Sh DESCRIPTION
>>> The
>>> @@ -62,6 +63,8 @@ This is the default behavior.
>>> .It Fl s
>>> Trim off any domain information from the printed
>>> name.
>>> +.It Fl d
>>> +Only print domain information.
>>> .El
>>> .Sh SEE ALSO
>>> .Xr gethostname 3 ,
>>>
>>> Modified: head/bin/hostname/hostname.c
>>> ============================================================
>>> ==================
>>> --- head/bin/hostname/hostname.c        Tue Nov  8 10:10:55 2016
>>> (r308442)
>>> +++ head/bin/hostname/hostname.c        Tue Nov  8 11:36:33 2016
>>> (r308443)
>>> @@ -54,11 +54,12 @@ static void usage(void) __dead2;
>>> int
>>> main(int argc, char *argv[])
>>> {
>>> -       int ch, sflag;
>>> +       int ch, sflag, dflag;
>>>         char *p, hostname[MAXHOSTNAMELEN];
>>>
>>>         sflag = 0;
>>> -       while ((ch = getopt(argc, argv, "fs")) != -1)
>>> +       dflag = 0;
>>> +       while ((ch = getopt(argc, argv, "fsd")) != -1)
>>>                 switch (ch) {
>>>                 case 'f':
>>>                         /*
>>> @@ -70,6 +71,9 @@ main(int argc, char *argv[])
>>>                 case 's':
>>>                         sflag = 1;
>>>                         break;
>>> +               case 'd':
>>> +                       dflag = 1;
>>> +                       break;
>>>                 case '?':
>>>                 default:
>>>                         usage();
>>> @@ -77,7 +81,7 @@ main(int argc, char *argv[])
>>>         argc -= optind;
>>>         argv += optind;
>>>
>>> -       if (argc > 1)
>>> +       if (argc > 1 || (sflag && dflag))
>>>                 usage();
>>>
>>>         if (*argv) {
>>> @@ -90,6 +94,10 @@ main(int argc, char *argv[])
>>>                         p = strchr(hostname, '.');
>>>                         if (p != NULL)
>>>                                 *p = '\0';
>>> +               } else if (dflag) {
>>> +                       p = strchr(hostname, '.');
>>> +                       if (p != NULL)
>>> +                               strcpy(hostname, ++p);
>>>                 }
>>>                 (void)printf("%s\n", hostname);
>>>         }
>>> @@ -100,6 +108,6 @@ static void
>>> usage(void)
>>> {
>>>
>>> -       (void)fprintf(stderr, "usage: hostname [-fs] [name-of-host]\n");
>>> +       (void)fprintf(stderr, "usage: hostname [-f] [s|d]
>>> [name-of-host]\n");
>>>
>>
>>
>> It’s missing ‘-‘ sign on [s|d] block, what makes message a bit confused
>> IMO. Maybe [-s|-d] would be more clear.
>>
>
> Both are wrong.
>
> This is also broken in the man page, where the '|' is literal and
> misformatted.  Normal markup would give '[-d | -s]' in the man page, and
> this should be copied to the usage message.  Hard-coding the '|' using
> 's|d' gives the different syntax error of a hyphen before the 's'but no
> hyphen before the 's' ('[-s|d]').
>
> The hard-coding has 2 other bugs:
> - missing spaces around '|'
> - d and s are unsorted
>
> d and s are unsorted consistently in about 8 instances in the patch.
>
> The correct order for sorting -f and [-d | -s] in the synopsis and
> usage message is unclear.  It would be best to put -f after -d and keep
> -s attached to -d, but with longer options list this takes too much
> space by splitting up the single-letter options.
>
> Bruce




-- 

-- 
Marcelo Araujo            (__)ara...@freebsd.org
\\\'',)http://www.FreeBSD.org <http://www.freebsd.org/>   \/  \ ^
Power To Server.         .\. /_)
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to