diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-25 23:23:58 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-25 23:23:58 +0000 |
commit | 6f1713f216fef686a68db5ee02232bc67e525c7d (patch) | |
tree | 256adc75a88723a4b247c32e692d721d65243a82 /miscutils | |
parent | 394eebed6656dfc2e56a79500b602023000ac415 (diff) |
*: intrduce and use safe_gethostname. By Tito <farmatito AT tiscali.it>
safe_gethostname - 48 +48
glob3 35 37 +2
timestamp_and_log 314 315 +1
udhcp_send_kernel_packet 234 231 -3
scan_tree 275 271 -4
passwd_main 1074 1070 -4
print_login_prompt 68 58 -10
obscure 392 377 -15
syslogd_main 882 866 -16
print_login_issue 516 478 -38
hostname_main 278 223 -55
parse_and_put_prompt 825 756 -69
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/9 up/down: 51/-214) Total: -163 bytes
text data bss dec hex filename
798791 728 7484 807003 c505b busybox_old
798631 728 7484 806843 c4fbb busybox_unstripped
Diffstat (limited to 'miscutils')
-rw-r--r-- | miscutils/devfsd.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/miscutils/devfsd.c b/miscutils/devfsd.c index 52a65bc98..286f00fd8 100644 --- a/miscutils/devfsd.c +++ b/miscutils/devfsd.c @@ -1133,8 +1133,8 @@ static void signal_handler(int sig) static const char *get_variable(const char *variable, void *info) { static char sbuf[sizeof(int)*3 + 2]; /* sign and NUL */ + static char *hostname; - char hostname[STRING_LENGTH]; struct get_variable_info *gv_info = info; const char *field_names[] = { "hostname", "mntpt", "devpath", "devname", @@ -1143,12 +1143,8 @@ static const char *get_variable(const char *variable, void *info) }; int i; - if (gethostname(hostname, STRING_LENGTH - 1) != 0) - /* Here on error we should do exit(RV_SYS_ERROR), instead we do exit(EXIT_FAILURE) */ - error_logger_and_die(LOG_ERR, "gethostname"); - - hostname[STRING_LENGTH - 1] = '\0'; - + if (!hostname) + hostname = safe_gethostname(); /* index_in_str_array returns i>=0 */ i = index_in_str_array(field_names, variable); |