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