From 6f1713f216fef686a68db5ee02232bc67e525c7d Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Mon, 25 Feb 2008 23:23:58 +0000 Subject: *: intrduce and use safe_gethostname. By Tito 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 --- libbb/login.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'libbb/login.c') diff --git a/libbb/login.c b/libbb/login.c index d1f5d6498..a711a5437 100644 --- a/libbb/login.c +++ b/libbb/login.c @@ -50,6 +50,7 @@ void print_login_issue(const char *issue_file, const char *tty) outbuf = uts.sysname; break; case 'n': + case 'h': outbuf = uts.nodename; break; case 'r': @@ -72,10 +73,6 @@ void print_login_issue(const char *issue_file, const char *tty) case 't': strftime(buf, sizeof(buf), fmtstr_t, localtime(&t)); break; - case 'h': - gethostname(buf, sizeof(buf) - 1); - buf[sizeof(buf) - 1] = '\0'; - break; case 'l': outbuf = tty; break; @@ -91,13 +88,12 @@ void print_login_issue(const char *issue_file, const char *tty) void print_login_prompt(void) { - char buf[MAXHOSTNAMELEN+1]; - - if (gethostname(buf, MAXHOSTNAMELEN) == 0) - fputs(buf, stdout); - + char *hostname = safe_gethostname(); + + fputs(hostname, stdout); fputs(LOGIN, stdout); fflush(stdout); + free(hostname); } /* Clear dangerous stuff, set PATH */ -- cgit v1.2.3