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