aboutsummaryrefslogtreecommitdiff
path: root/libbb/login.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-02-25 23:23:58 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-02-25 23:23:58 +0000
commit6f1713f216fef686a68db5ee02232bc67e525c7d (patch)
tree256adc75a88723a4b247c32e692d721d65243a82 /libbb/login.c
parent394eebed6656dfc2e56a79500b602023000ac415 (diff)
downloadbusybox-6f1713f216fef686a68db5ee02232bc67e525c7d.tar.gz
*: 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 'libbb/login.c')
-rw-r--r--libbb/login.c14
1 files changed, 5 insertions, 9 deletions
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 */