improved the speed somewhat
fixed bug with negative chars in comparisons
This commit is contained in:
@@ -7,17 +7,18 @@
|
||||
#include <string.h>
|
||||
|
||||
char *
|
||||
strncpy(char *ret, register const char *s2, size_t n)
|
||||
strncpy(char *ret, register const char *s2, register size_t n)
|
||||
{
|
||||
register char *s1 = ret;
|
||||
|
||||
while (*s2 && n > 0) {
|
||||
n--;
|
||||
*s1++ = *s2++;
|
||||
}
|
||||
while (n > 0) {
|
||||
n--;
|
||||
*s1++ = '\0';
|
||||
if (n>0) {
|
||||
while((*s1++ = *s2++) && --n > 0)
|
||||
/* EMPTY */ ;
|
||||
if ((*--s2 == '\0') && --n > 0) {
|
||||
do {
|
||||
*s1++ = '\0';
|
||||
} while(--n > 0);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user