> 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"