|
|
1.1 root 1: /*
2: * Copyright (c) 1983, 1988 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms are permitted
6: * provided that: (1) source distributions retain this entire copyright
7: * notice and comment, and (2) distributions including binaries display
8: * the following acknowledgement: ``This product includes software
9: * developed by the University of California, Berkeley and its contributors''
10: * in the documentation or other materials provided with the distribution
11: * and in all advertising materials mentioning features or use of this
12: * software. Neither the name of the University nor the names of its
13: * contributors may be used to endorse or promote products derived
14: * from this software without specific prior written permission.
15: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
16: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
17: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18: */
19:
20: #ifndef lint
21: char copyright[] =
22: "@(#) Copyright (c) 1983, 1988 Regents of the University of California.\n\
23: All rights reserved.\n";
24: #endif /* not lint */
25:
26: #ifndef lint
27: static char sccsid[] = "@(#)hostname.c 5.4 (Berkeley) 5/31/90";
28: #endif /* not lint */
29:
30: #include <stdio.h>
31: #include <sys/param.h>
32:
33: main(argc,argv)
34: int argc;
35: char **argv;
36: {
37: extern int optind;
38: int ch, sflag;
39: char hostname[MAXHOSTNAMELEN], *p, *index();
40:
41: sflag = 0;
42: while ((ch = getopt(argc, argv, "s")) != EOF)
43: switch((char)ch) {
44: case 's':
45: sflag = 1;
46: break;
47: case '?':
48: default:
49: fputs("hostname [-s] [hostname]\n", stderr);
50: exit(1);
51: }
52: argv += optind;
53:
54: if (*argv) {
55: if (sethostname(*argv, strlen(*argv))) {
56: perror("sethostname");
57: exit(1);
58: }
59: } else {
60: if (gethostname(hostname, sizeof(hostname))) {
61: perror("gethostname");
62: exit(1);
63: }
64: if (sflag && (p = index(hostname, '.')))
65: *p = '\0';
66: puts(hostname);
67: }
68: exit(0);
69: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.