cf87597226
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21020 a1c6a512-1295-4272-9138-f99709370657
21 lines
704 B
C
21 lines
704 B
C
#include "rocklibc.h"
|
|
|
|
/* gcc is broken and has a non-SUSv2 compliant internal prototype.
|
|
* This causes it to warn about a type mismatch here. Ignore it. */
|
|
char *strncat(char *s, const char *t, size_t n) {
|
|
char *dest=s;
|
|
register char *max;
|
|
s+=strlen(s);
|
|
if (__unlikely((max=s+n)==s)) goto fini;
|
|
for (;;) {
|
|
if (__unlikely(!(*s = *t))) break; if (__unlikely(++s==max)) break; ++t;
|
|
#ifndef WANT_SMALL_STRING_ROUTINES
|
|
if (__unlikely(!(*s = *t))) break; if (__unlikely(++s==max)) break; ++t;
|
|
if (__unlikely(!(*s = *t))) break; if (__unlikely(++s==max)) break; ++t;
|
|
if (__unlikely(!(*s = *t))) break; if (__unlikely(++s==max)) break; ++t;
|
|
#endif
|
|
}
|
|
*s=0;
|
|
fini:
|
|
return dest;
|
|
}
|