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:
parent
2b010e46e6
commit
6f020161e8
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue