introduce and use xdup2(int, int)
stop checking whether setsockopt_reuseaddr(int fd) was successful (it always is)
remove second parameter (sockllen) from xmalloc_sockaddr2xxxxx functions
sockaddr2str 142 156 +14
collect_blk 467 474 +7
xdup2 28 33 +5
singlemount 4456 4454 -2
print_host 214 212 -2
nslookup_main 139 137 -2
ftpgetput_main 414 412 -2
udhcpd_main 1258 1255 -3
udhcpc_main 2405 2402 -3
traceroute_main 4125 4122 -3
nc_main 1072 1069 -3
buffer_fill_and_print 76 73 -3
xmalloc_sockaddr2hostonly_noport 18 14 -4
xmalloc_sockaddr2host_noport 18 14 -4
xmalloc_sockaddr2host 15 11 -4
xmalloc_sockaddr2dotted_noport 18 14 -4
xmalloc_sockaddr2dotted 18 14 -4
wget_main 2618 2614 -4
ping_main 393 389 -4
ip_port_str 120 115 -5
dhcprelay_main 1146 1141 -5
dnsd_main 1531 1525 -6
passwd_main 1110 1102 -8
udhcp_kernel_packet 206 197 -9
udhcp_listen_socket 154 144 -10
getty_main 2576 2566 -10
setup 655 640 -15
xmove_fd 51 34 -17
dolisten 759 742 -17
tcpudpsvd_main 1866 1836 -30
startservice 339 299 -40
diff --git a/loginutils/getty.c b/loginutils/getty.c
index 0254d32..8b78856 100644
--- a/loginutils/getty.c
+++ b/loginutils/getty.c
@@ -226,12 +226,6 @@
debug("exiting parseargs\n");
}
-static void xdup2(int srcfd, int dstfd, const char *tty)
-{
- if (dup2(srcfd, dstfd) == -1)
- bb_perror_msg_and_die("%s: dup", tty);
-}
-
/* open_tty - set up tty as standard { input, output, error } */
static void open_tty(const char *tty, struct termios *tp, int local)
{
@@ -255,7 +249,7 @@
debug("open(2)\n");
fd = xopen(tty, O_RDWR | O_NONBLOCK);
- xdup2(fd, 0, tty);
+ xdup2(fd, 0);
while (fd > 2) close(fd--);
} else {
/*
@@ -269,8 +263,8 @@
/* Replace current standard output/error fd's with new ones */
debug("duping\n");
- xdup2(0, 1, tty);
- xdup2(0, 2, tty);
+ xdup2(0, 1);
+ xdup2(0, 2);
/*
* The following ioctl will fail if stdin is not a tty, but also when