diff options
Diffstat (limited to 'toys')
-rw-r--r-- | toys/hostname.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/toys/hostname.c b/toys/hostname.c new file mode 100644 index 00000000..b51fd86b --- /dev/null +++ b/toys/hostname.c @@ -0,0 +1,35 @@ +/* vi: set sw=4 ts=4: + * + * hostname.c - Get/Set the hostname + * + * Copyright 2012 Andre Renaud <andre@bluewatersys.com> + * + * Not in SUSv4. + +USE_HOSTNAME(NEWTOY(hostname, "", TOYFLAG_BIN)) + +config HOSTNAME + bool "hostname" + default n + help + usage: hostname [newname] + + Get/Set the current hostname +*/ + +#include "toys.h" + +void hostname_main(void) +{ + const char *hostname = toys.optargs[0]; + if (hostname) { + int len = strlen(hostname); + if (sethostname(hostname, len)) + perror_exit("cannot set hostname to '%s'", hostname); + } else { + char buffer[256]; + if (gethostname(buffer, sizeof(buffer))) + perror_exit("cannot get hostname"); + xprintf("%s\n", buffer); + } +} |