[git commit] udhcp: trivial shrink

Denys Vlasenko vda.linux at googlemail.com
Fri Feb 26 13:56:18 UTC 2016


commit: https://git.busybox.net/busybox/commit/?id=5bec08cebd559c906eb94b8b957afb9f0b8db338
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
dname_dec                                            337     332      -5

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 networking/udhcp/domain_codec.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/networking/udhcp/domain_codec.c b/networking/udhcp/domain_codec.c
index c1325d8..05cdf51 100644
--- a/networking/udhcp/domain_codec.c
+++ b/networking/udhcp/domain_codec.c
@@ -42,7 +42,7 @@ char* FAST_FUNC dname_dec(const uint8_t *cstr, int clen, const char *pre)
 	 */
 	while (1) {
 		/* note: "return NULL" below are leak-safe since
-		 * dst isn't yet allocated */
+		 * dst isn't allocated yet */
 		const uint8_t *c;
 		unsigned crtpos, retpos, depth, len;
 
@@ -95,9 +95,8 @@ char* FAST_FUNC dname_dec(const uint8_t *cstr, int clen, const char *pre)
 		if (!dst) { /* first pass? */
 			/* allocate dst buffer and copy pre */
 			unsigned plen = strlen(pre);
-			ret = dst = xmalloc(plen + len);
-			memcpy(dst, pre, plen);
-			dst += plen;
+			ret = xmalloc(plen + len);
+			dst = stpcpy(ret, pre);
 		} else {
 			dst[len - 1] = '\0';
 			break;


More information about the busybox-cvs mailing list