From 9d6f4f01d780864405177cee44b38981d09d48b4 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 7 Nov 2011 14:25:51 -0500 Subject: [PATCH] FcStrPlus: optimize a little We've already calculated the lengths of these strings, so re-use those values to avoid having to rescan the strings multiple times. Signed-off-by: Mike Frysinger --- src/fcstr.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/fcstr.c b/src/fcstr.c index 8b94ecb..b712e5d 100644 --- a/src/fcstr.c +++ b/src/fcstr.c @@ -50,14 +50,16 @@ FcStrCopy (const FcChar8 *s) FcChar8 * FcStrPlus (const FcChar8 *s1, const FcChar8 *s2) { - int l = strlen ((char *)s1) + strlen ((char *) s2) + 1; + int s1l = strlen ((char *) s1); + int s2l = strlen ((char *) s2); + int l = s1l + s2l + 1; FcChar8 *s = malloc (l); if (!s) return 0; FcMemAlloc (FC_MEM_STRING, l); - strcpy ((char *) s, (char *) s1); - strcat ((char *) s, (char *) s2); + memcpy (s, s1, s1l); + memcpy (s + s1l, s2, s2l + 1); return s; } -- 2.39.2