summaryrefslogtreecommitdiff
path: root/networking/udhcp/options.c
diff options
context:
space:
mode:
authorDenis Vlasenko2008-12-08 22:56:18 +0000
committerDenis Vlasenko2008-12-08 22:56:18 +0000
commitefb545b9bdd3934dcdbf9bc0890a42081b330049 (patch)
tree4dc9212e49a5dae9890bd324bcc9bf4941e2321d /networking/udhcp/options.c
parentd1a84a2880073f6cc5e2f9f4e5f236cd110f01a0 (diff)
downloadbusybox-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/udhcp/options.c')
-rw-r--r--networking/udhcp/options.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/networking/udhcp/options.c b/networking/udhcp/options.c
index 2c27e70..581a7b6 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)
option[OPT_LEN] = len;
if (BB_BIG_ENDIAN)
data <<= 8 * (4 - len);
- /* This memcpy is for processors which can't
- * handle a simple unaligned 32-bit assignment */
- memcpy(&option[OPT_DATA], &data, 4);
+ /* Assignment is unaligned! */
+ move_to_unaligned32(&option[OPT_DATA], data);
return add_option_string(optionptr, option);
}
}