Date: Tue, 8 Nov 2016 11:36:33 +0000 (UTC) From: Marcelo Araujo <araujo@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r308443 - head/bin/hostname Message-ID: <201611081136.uA8BaXrs073937@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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"); exit(1); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201611081136.uA8BaXrs073937>