*: move get_sock_lsa and xwrite_str to libbb, use where appropriate

function                                             old     new   delta
get_sock_lsa                                           -      72     +72
buffer_fill_and_print                                179     196     +17
parse_expr                                           824     832      +8
read_base64                                          343     348      +5
nameval                                              202     206      +4
fbset_main                                          1694    1698      +4
expand                                              1849    1853      +4
udhcp_send_kernel_packet                             249     252      +3
udhcp_get_option                                     223     222      -1
chat_main                                           1246    1245      -1
pack_gzip                                           1661    1659      -2
doset                                                299     297      -2
bb__parsespent                                       119     117      -2
test_main                                            260     257      -3
qgravechar                                           109     106      -3
tcpudpsvd_main                                      1834    1830      -4
sysctl_display_all                                   589     580      -9
xopen_xwrite_close                                    44      33     -11
prs                                                   30      18     -12
find_main                                            418     406     -12
full_write2_str                                       25      12     -13
adduser_main                                         667     654     -13
evaltreenr                                           817     802     -15
evaltree                                             817     802     -15
tftpd_main                                           526     493     -33
ftpd_main                                           2050    1990     -60
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 7/18 up/down: 117/-211)         Total: -94 bytes
This commit is contained in:
Denis Vlasenko
2009-03-09 00:12:37 +00:00
parent 5e4fda0aff
commit 73c571a5ff
13 changed files with 35 additions and 56 deletions

View File

@@ -99,7 +99,7 @@ static const char *unpack_usage_messages(void)
static void full_write2_str(const char *str)
{
full_write(STDERR_FILENO, str, strlen(str));
xwrite_str(STDERR_FILENO, str);
}
void FAST_FUNC bb_show_usage(void)

View File

@@ -10,11 +10,10 @@
#include "libbb.h"
/* Open file and write string str to it, close file.
* Die on any open or write-error. */
* Die on any open or write error. */
void FAST_FUNC xopen_xwrite_close(const char* file, const char* str)
{
int fd = xopen(file, O_WRONLY);
xwrite(fd, str, strlen(str));
xwrite_str(fd, str);
close(fd);
}

View File

@@ -35,6 +35,19 @@ int FAST_FUNC setsockopt_bindtodevice(int fd, const char *iface)
return r;
}
len_and_sockaddr* FAST_FUNC get_sock_lsa(int fd)
{
len_and_sockaddr *lsa;
socklen_t len = 0;
/* Can be optimized to do only one getsockname() */
if (getsockname(fd, NULL, &len) != 0)
return NULL;
lsa = xzalloc(LSA_LEN_SIZE + len);
lsa->len = len;
getsockname(fd, &lsa->u.sa, &lsa->len);
return lsa;
}
void FAST_FUNC xconnect(int s, const struct sockaddr *s_addr, socklen_t addrlen)
{
@@ -51,8 +64,9 @@ void FAST_FUNC xconnect(int s, const struct sockaddr *s_addr, socklen_t addrlen)
/* Return port number for a service.
* If "port" is a number use it as the port.
* If "port" is a name it is looked up in /etc/services, if it isnt found return
* default_port */
* If "port" is a name it is looked up in /etc/services,
* if it isnt found return default_port
*/
unsigned FAST_FUNC bb_lookup_port(const char *port, const char *protocol, unsigned default_port)
{
unsigned port_nr = default_port;

View File

@@ -208,6 +208,10 @@ void FAST_FUNC xwrite(int fd, const void *buf, size_t count)
bb_error_msg_and_die("short write");
}
}
void FAST_FUNC xwrite_str(int fd, const char *str)
{
xwrite(fd, str, strlen(str));
}
// Die with an error message if we can't lseek to the right spot.
off_t FAST_FUNC xlseek(int fd, off_t offset, int whence)