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 <vapier@gentoo.org>
This commit is contained in:
Mike Frysinger 2011-11-07 14:25:51 -05:00
parent 2b010e46e6
commit 6f020161e8
1 changed files with 5 additions and 3 deletions

View File

@ -50,14 +50,16 @@ FcStrCopy (const FcChar8 *s)
FcChar8 * FcChar8 *
FcStrPlus (const FcChar8 *s1, const FcChar8 *s2) 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); FcChar8 *s = malloc (l);
if (!s) if (!s)
return 0; return 0;
FcMemAlloc (FC_MEM_STRING, l); FcMemAlloc (FC_MEM_STRING, l);
strcpy ((char *) s, (char *) s1); memcpy (s, s1, s1l);
strcat ((char *) s, (char *) s2); memcpy (s + s1l, s2, s2l + 1);
return s; return s;
} }