diff options
author | Denis Vlasenko | 2008-12-08 22:56:18 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-12-08 22:56:18 +0000 |
commit | efb545b9bdd3934dcdbf9bc0890a42081b330049 (patch) | |
tree | 4dc9212e49a5dae9890bd324bcc9bf4941e2321d /networking/libiproute/libnetlink.c | |
parent | d1a84a2880073f6cc5e2f9f4e5f236cd110f01a0 (diff) | |
download | busybox-efb545b9bdd3934dcdbf9bc0890a42081b330049.zip busybox-efb545b9bdd3934dcdbf9bc0890a42081b330049.tar.gz |
optimize 16- and 32-bit moves
function old new delta
udhcpd_main 1239 1257 +18
udhcp_add_simple_option 93 92 -1
buffer_read_le_u32 19 18 -1
unpack_gz_stream_with_info 526 520 -6
dnsd_main 1470 1463 -7
udhcp_run_script 1208 1186 -22
send_ACK 255 229 -26
arping_main 1661 1623 -38
send_offer 470 428 -42
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/8 up/down: 18/-143) Total: -125 bytes
Diffstat (limited to 'networking/libiproute/libnetlink.c')
-rw-r--r-- | networking/libiproute/libnetlink.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/networking/libiproute/libnetlink.c b/networking/libiproute/libnetlink.c index 01454fb..6d51d8d 100644 --- a/networking/libiproute/libnetlink.c +++ b/networking/libiproute/libnetlink.c @@ -341,7 +341,7 @@ int FAST_FUNC addattr32(struct nlmsghdr *n, int maxlen, int type, uint32_t data) rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len)); rta->rta_type = type; rta->rta_len = len; - memcpy(RTA_DATA(rta), &data, 4); + move_to_unaligned32(RTA_DATA(rta), data); n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + len; return 0; } @@ -372,7 +372,7 @@ int FAST_FUNC rta_addattr32(struct rtattr *rta, int maxlen, int type, uint32_t d subrta = (struct rtattr*)(((char*)rta) + RTA_ALIGN(rta->rta_len)); subrta->rta_type = type; subrta->rta_len = len; - memcpy(RTA_DATA(subrta), &data, 4); + move_to_unaligned32(RTA_DATA(subrta), data); rta->rta_len = NLMSG_ALIGN(rta->rta_len) + len; return 0; } |