From fa0e955a93ca7d7e90d286a68454c6bd808a1c01 Mon Sep 17 00:00:00 2001 From: Alan Jenkins Date: Tue, 21 Oct 2008 11:12:57 +0100 Subject: [PATCH] libudev: util - optimize path_encode() Since we already know the length, use memcpy() instead. Measured 2% _user_ cpu time reduction on EeePC coldplug. Signed-off-by: Alan Jenkins --- udev/lib/libudev-util.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/udev/lib/libudev-util.c b/udev/lib/libudev-util.c index 0ff121d7..6586d1c8 100644 --- a/udev/lib/libudev-util.c +++ b/udev/lib/libudev-util.c @@ -114,7 +114,6 @@ size_t util_path_encode(char *s, size_t len) char t[(len * 3)+1]; size_t i, j; - t[0] = '\0'; for (i = 0, j = 0; s[i] != '\0'; i++) { if (s[i] == '/') { memcpy(&t[j], "\\x2f", 4); @@ -127,8 +126,11 @@ size_t util_path_encode(char *s, size_t len) j++; } } - t[j] = '\0'; - strncpy(s, t, len); + if (len == 0) + return j; + i = (j < len - 1) ? j : len - 1; + memcpy(s, t, i); + s[i] = '\0'; return j; } -- 2.39.5