fixed some bugs, added LIST, Makefile & .distr
This commit is contained in:
parent
8a409311da
commit
dc2dd991c6
24
lang/cem/libcc.ansi/string/.distr
Normal file
24
lang/cem/libcc.ansi/string/.distr
Normal file
|
@ -0,0 +1,24 @@
|
|||
LIST
|
||||
Makefile
|
||||
memchr.c
|
||||
memcmp.c
|
||||
memcpy.c
|
||||
memmove.c
|
||||
memset.c
|
||||
strcat.c
|
||||
strchr.c
|
||||
strcmp.c
|
||||
strcoll.c
|
||||
strcpy.c
|
||||
strcspn.c
|
||||
strerror.c
|
||||
strlen.c
|
||||
strncat.c
|
||||
strncmp.c
|
||||
strncpy.c
|
||||
strpbrk.c
|
||||
strrchr.c
|
||||
strspn.c
|
||||
strstr.c
|
||||
strtok.c
|
||||
strxfrm.c
|
|
@ -1,4 +1,3 @@
|
|||
libs
|
||||
memchr.c
|
||||
memcmp.c
|
||||
memcpy.c
|
||||
|
|
35
lang/cem/libcc.ansi/string/Makefile
Normal file
35
lang/cem/libcc.ansi/string/Makefile
Normal file
|
@ -0,0 +1,35 @@
|
|||
CFLAGS=-L -LIB
|
||||
|
||||
.SUFFIXES: .o .e .c
|
||||
|
||||
.e.o:
|
||||
$(CC) $(CFLAGS) -c -o $@ $*.e
|
||||
|
||||
clean:
|
||||
rm -rf memchr.o memcmp.o memcpy.o memmove.o memset.o strcat.o \
|
||||
strchr.o strcmp.o strcoll.o strcpy.o strcspn.o strerror.o \
|
||||
strncat.o strncpy.o strrchr.o strstr.o strlen.o strtok.o \
|
||||
strpbrk.o strspn.o strncmp.o strxfrm.o OLIST
|
||||
|
||||
memchr.o:
|
||||
memcmp.o:
|
||||
memcpy.o:
|
||||
memmove.o:
|
||||
memset.o:
|
||||
strcat.o:
|
||||
strchr.o:
|
||||
strcmp.o:
|
||||
strcoll.o:
|
||||
strcpy.o:
|
||||
strcspn.o:
|
||||
strerror.o:
|
||||
strncat.o:
|
||||
strncpy.o:
|
||||
strrchr.o:
|
||||
strstr.o:
|
||||
strlen.o:
|
||||
strtok.o:
|
||||
strpbrk.o:
|
||||
strspn.o:
|
||||
strncmp.o:
|
||||
strxfrm.o:
|
|
@ -9,13 +9,13 @@
|
|||
void *
|
||||
memchr(const void *s, int c, register size_t n)
|
||||
{
|
||||
register unsigned char *s1 = (unsigned char *)s;
|
||||
register const unsigned char *s1 = s;
|
||||
unsigned char c1 = (unsigned char) c;
|
||||
|
||||
while (n > 0) {
|
||||
n--;
|
||||
if (*s1++ == c1)
|
||||
return (void *) --s1;
|
||||
return (void *) (s1 - 1);
|
||||
}
|
||||
return (void *) NULL;
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -7,12 +7,14 @@
|
|||
#include <string.h>
|
||||
|
||||
int
|
||||
memcmp(register const void *s1, register const void *s2, size_t n)
|
||||
memcmp(const void *s1, const void *s2, size_t n)
|
||||
{
|
||||
register const char *p1 = s1, *p2 = s2;
|
||||
|
||||
while (n > 0) {
|
||||
n--;
|
||||
if (*s1++ != *s2++)
|
||||
return *--s1 - *--s2;
|
||||
if (*p1++ != *p2++)
|
||||
return *--p1 - *--p2;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -9,11 +9,13 @@
|
|||
void *
|
||||
memcpy(register void *s1, register const void *s2, register size_t n)
|
||||
{
|
||||
void *ret = s1;
|
||||
register char *p1 = s1;
|
||||
register const char *p2 = s2;
|
||||
|
||||
|
||||
while (n > 0) {
|
||||
n--;
|
||||
*s1++ = *s2++;
|
||||
*p1++ = *p2++;
|
||||
}
|
||||
return ret;
|
||||
return s1;
|
||||
}
|
||||
|
|
|
@ -7,22 +7,23 @@
|
|||
#include <string.h>
|
||||
|
||||
void *
|
||||
memmove(register void *s1, register const void *s2, register size_t n)
|
||||
memmove(void *s1, const void *s2, register size_t n)
|
||||
{
|
||||
void *ret = s1;
|
||||
register char *p1 = s1;
|
||||
register const char *p2 = s2;
|
||||
|
||||
if (s2 <= s1 && s2 + (n-1) >= s1) {
|
||||
if (p2 <= p1 && p2 + (n-1) >= p1) {
|
||||
/* overlap, copy backwards */
|
||||
s1 += n;
|
||||
s2 += n;
|
||||
p1 += n;
|
||||
p2 += n;
|
||||
while (n > 0) {
|
||||
n--;
|
||||
*--s1 = *--s2;
|
||||
*--p1 = *--p2;
|
||||
}
|
||||
} else
|
||||
while (n > 0) {
|
||||
n--;
|
||||
*s1++ = *s2++;
|
||||
*p1++ = *p2++;
|
||||
}
|
||||
return ret;
|
||||
return s1;
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
void *
|
||||
memset(void *s, int c, register size_t n)
|
||||
{
|
||||
register void *s1 = s;
|
||||
register char *s1 = s;
|
||||
|
||||
while (n > 0) {
|
||||
n--;
|
||||
|
|
|
@ -13,7 +13,7 @@ strchr(register const char *s, int c)
|
|||
|
||||
do {
|
||||
if (*s == c1)
|
||||
return s;
|
||||
return (char *)s;
|
||||
} while (*s++ != '\0');
|
||||
|
||||
return (char *)NULL;
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
size_t
|
||||
strcspn(const char *string, const char *notin)
|
||||
{
|
||||
register char *s1, *s2;
|
||||
register const char *s1, *s2;
|
||||
|
||||
for (s1 = string; *s1; s1++) {
|
||||
for(s2 = notin; *s2 != *s1 && *s2; s2++)
|
||||
|
|
|
@ -14,5 +14,5 @@ strerror(register int errnum)
|
|||
|
||||
if (errnum < 0 || errnum >= _sys_nerr)
|
||||
return "unknown error";
|
||||
return _sys_errlist[errnum];
|
||||
return (char *)_sys_errlist[errnum];
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
size_t
|
||||
strlen(register const char *s)
|
||||
{
|
||||
char *org = s;
|
||||
const char *org = s;
|
||||
|
||||
while (*s++)
|
||||
/* EMPTY */ ;
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
char *
|
||||
strpbrk(register const char *string, register const char *brk)
|
||||
{
|
||||
register char *s1;
|
||||
register const char *s1;
|
||||
|
||||
while (*string) {
|
||||
for (s1 = brk; *s1 && *s1 != *string; s1++)
|
||||
/* EMPTY */ ;
|
||||
if (*s1)
|
||||
return string;
|
||||
return (char *)string;
|
||||
string++;
|
||||
}
|
||||
return (char *)NULL;
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
char *
|
||||
strrchr(register const char *s, int c)
|
||||
{
|
||||
register char *result;
|
||||
register const char *result;
|
||||
register char c1 = (char) c;
|
||||
|
||||
result = (char *)NULL;
|
||||
|
@ -18,5 +18,5 @@ strrchr(register const char *s, int c)
|
|||
result = s;
|
||||
} while (*s++);
|
||||
|
||||
return(result);
|
||||
return (char *)result;
|
||||
}
|
||||
|
|
|
@ -11,8 +11,9 @@ strstr(register const char *s, register const char *wanted)
|
|||
{
|
||||
int len = strlen(wanted);
|
||||
|
||||
if (len == 0) return (char *)s;
|
||||
while (*s != *wanted || strncmp(s, wanted, len))
|
||||
if (*s++ == '\0')
|
||||
return (char *)NULL;
|
||||
return s;
|
||||
return (char *)s;
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
size_t
|
||||
strxfrm(register char *s1, register const char *s2, register size_t n)
|
||||
{
|
||||
char *save = s2;
|
||||
const char *save = s2;
|
||||
|
||||
while (*s2) {
|
||||
if (n > 1) {
|
||||
|
|
Loading…
Reference in a new issue