summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Small <csmall@enc.com.au>2018-03-03 18:36:44 +1100
committerCraig Small <csmall@enc.com.au>2018-03-03 18:36:44 +1100
commitd4a9a1e5d4eb0765ab2f0097f48b4daf1ef80467 (patch)
tree82a948403c80fdbd12e7ea177eeb6c5449b4979d
parent1a26eec12b05fd951ed7ce2a1a9165c1e9a79ea9 (diff)
downloadprocps-ng-d4a9a1e5d4eb0765ab2f0097f48b4daf1ef80467.tar.gz
watch: use sysconf() for hostname length
Hurd doesn't have HOST_NAME_MAX, neither does Solaris. An early fix just checked for this value and used 64 instead. This change uses sysconf which is the correct method, possibly until this compiles on some mis-behaving OS which doesn't have this value. References: commit e564ddcb01c3c11537432faa9c7a7a6badb05930 procps-ng/procps#54
-rw-r--r--watch.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/watch.c b/watch.c
index 048a450..c438178 100644
--- a/watch.c
+++ b/watch.c
@@ -60,9 +60,6 @@
# define isprint(x) ( (x>=' '&&x<='~') || (x>=0xa0) )
#endif
-#ifndef HOST_NAME_MAX
-#define HOST_NAME_MAX 64
-#endif
/* Boolean command line options */
static int flags;
@@ -380,7 +377,8 @@ static void output_header(char *restrict command, double interval)
char *ts = ctime(&t);
char *header;
char *right_header;
- char hostname[HOST_NAME_MAX + 1];
+ int max_host_name_len = (int) sysconf(_SC_HOST_NAME_MAX);
+ char hostname[max_host_name_len + 1];
int command_columns = 0; /* not including final \0 */
gethostname(hostname, sizeof(hostname));