diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-12-08 22:56:18 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-12-08 22:56:18 +0000 |
commit | efb545b9bdd3934dcdbf9bc0890a42081b330049 (patch) | |
tree | 4dc9212e49a5dae9890bd324bcc9bf4941e2321d /networking/udhcp/options.c | |
parent | d1a84a2880073f6cc5e2f9f4e5f236cd110f01a0 (diff) | |
download | busybox-w32-efb545b9bdd3934dcdbf9bc0890a42081b330049.tar.gz busybox-w32-efb545b9bdd3934dcdbf9bc0890a42081b330049.tar.bz2 busybox-w32-efb545b9bdd3934dcdbf9bc0890a42081b330049.zip |
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/udhcp/options.c')
-rw-r--r-- | networking/udhcp/options.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/networking/udhcp/options.c b/networking/udhcp/options.c index 2c27e7033..581a7b671 100644 --- a/networking/udhcp/options.c +++ b/networking/udhcp/options.c | |||
@@ -224,9 +224,8 @@ int FAST_FUNC add_simple_option(uint8_t *optionptr, uint8_t code, uint32_t data) | |||
224 | option[OPT_LEN] = len; | 224 | option[OPT_LEN] = len; |
225 | if (BB_BIG_ENDIAN) | 225 | if (BB_BIG_ENDIAN) |
226 | data <<= 8 * (4 - len); | 226 | data <<= 8 * (4 - len); |
227 | /* This memcpy is for processors which can't | 227 | /* Assignment is unaligned! */ |
228 | * handle a simple unaligned 32-bit assignment */ | 228 | move_to_unaligned32(&option[OPT_DATA], data); |
229 | memcpy(&option[OPT_DATA], &data, 4); | ||
230 | return add_option_string(optionptr, option); | 229 | return add_option_string(optionptr, option); |
231 | } | 230 | } |
232 | } | 231 | } |