> On 8 Nov 2016, at 09:36, Marcelo Araujo <ara...@freebsd.org> wrote:
> 
> Author: araujo
> Date: Tue Nov  8 11:36:33 2016
> New Revision: 308443
> URL: https://svnweb.freebsd.org/changeset/base/308443
> 
> Log:
>  Add -d flag that prints domain only.
> 
>  PR:          212875
>  Submitted by:        Ben RUBSON <ben.rub...@gmail.com>
>  Reviewed by: pi
> 
> 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.

--
Renato Botelho

_______________________________________________
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