svn commit: r308443 - head/bin/hostname
Renato Botelho
garga at FreeBSD.org
Tue Nov 8 19:33:25 UTC 2016
> On 8 Nov 2016, at 09:36, Marcelo Araujo <araujo at 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.rubson at 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
More information about the svn-src-head
mailing list