This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Simplify strncat.
- From: Paul Eggert <eggert at cs dot ucla dot edu>
- To: OndÅej BÃlka <neleai at seznam dot cz>, libc-alpha at sourceware dot org
- Date: Tue, 16 Dec 2014 12:50:38 -0800
- Subject: Re: [PATCH] Simplify strncat.
- Authentication-results: sourceware.org; auth=none
- References: <20141216202438 dot GA5612 at domone>
Thanks, this is much better than worrying about how to pacify GCC. The
code could be made a bit shorter and clearer with mempcpy, and there's
no longer any need to distinguish between s and s1, so I suggest the
following minor rewrite, which shrinks the code size by another 26 bytes
(16%) on my x86-64 platform.
char *
STRNCAT (char *s1, const char *s2, size_t n)
{
char *s1_end = mempcpy (s1 + strlen (s1), s2, __strnlen (s2, n));
*s1_end = '\0';
return s1;
}