diff --git a/hostname.c b/hostname.c index 4b42848..1e9211b 100644 --- a/hostname.c +++ b/hostname.c @@ -1,7 +1,6 @@ /* See LICENSE file for copyright and license details. */ #include #include -#include #include #include #include "util.h" @@ -15,16 +14,7 @@ usage(void) int main(int argc, char *argv[]) { - long sz; - char *host; - - sz = sysconf(_SC_HOST_NAME_MAX); - if (sz < 0) - sz = 255; - - host = malloc(sz + 1); - if (!host) - eprintf("malloc:"); + char host[HOST_NAME_MAX + 1]; ARGBEGIN { default: @@ -32,15 +22,12 @@ main(int argc, char *argv[]) } ARGEND; if (argc < 1) { - if (gethostname(host, sz + 1) < 0) + if (gethostname(host, sizeof(host)) < 0) eprintf("gethostname:"); puts(host); } else { if (sethostname(argv[0], strlen(argv[0])) < 0) eprintf("sethostname:"); } - - free(host); - return 0; }