SCCS-vsn: old/hostid/hostid.c 5.4
#endif not lint
#ifndef lint
#endif not lint
#ifndef lint
-static char sccsid[] = "@(#)hostid.c 5.3 (Berkeley) %G%";
+static char sccsid[] = "@(#)hostid.c 5.4 (Berkeley) %G%";
#endif not lint
#include <sys/types.h>
#endif not lint
#include <sys/types.h>
printf("%#x\n", gethostid());
exit(0);
}
printf("%#x\n", gethostid());
exit(0);
}
- if ((hostid = inet_addr(id)) == -1) {
- if (*id == '0' && (id[1] == 'x' || id[1] == 'X'))
+ id = argv[1];
+ if (hp = gethostbyname(id)) {
+ bcopy(hp->h_addr, &addr, sizeof(addr));
+ hostid = addr;
+ } else if (index(id, '.')) {
+ if ((hostid = inet_addr(id)) == -1)
+ goto usage;
+ } else {
+ if (id[0] == '0' && (id[1] == 'x' || id[1] == 'X'))
id += 2;
if (sscanf(id, "%x", &hostid) != 1) {
id += 2;
if (sscanf(id, "%x", &hostid) != 1) {
- if (hp = gethostbyname(argv[1])) {
- bcopy(hp->h_addr, &addr, sizeof(addr));
- hostid = addr;
- } else {
- fprintf(stderr,
- "usage: %s [hexnum or internet address]\n", argv[0]);
- exit(1);
- }
+usage:
+ fprintf(stderr,
+ "usage: %s [hexnum or internet address]\n",
+ argv[0]);
+ exit(1);