diff options
author | Rob Landley <rob@landley.net> | 2012-02-15 05:47:38 -0600 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2012-02-15 05:47:38 -0600 |
commit | b083b8c048c365eb3db031532c353be7a76c379e (patch) | |
tree | 26a03de10a1b24f0a33d64ce841b17ffad6b2f9b | |
parent | f67edb23415e151ac135e56d207e8154b08e67fd (diff) | |
download | toybox-b083b8c048c365eb3db031532c353be7a76c379e.tar.gz |
Add hostname from Andre Renaud.
-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); + } +} |