nuclear@0: #include nuclear@0: nuclear@1: void memset(void *s, int c, size_t n) nuclear@0: { nuclear@0: char *ptr = s; nuclear@1: while(n--) { nuclear@0: *ptr++ = c; nuclear@0: } nuclear@0: } nuclear@1: nuclear@4: /* Does the same thing as memset only with 16bit values. nuclear@4: * n in this case is the number of values, not the number of bytes. nuclear@4: */ nuclear@2: void memset16(void *s, int c, size_t n) nuclear@2: { nuclear@2: short *ptr = s; nuclear@2: while(n--) { nuclear@2: *ptr++ = c; nuclear@2: } nuclear@2: } nuclear@2: nuclear@1: void *memcpy(void *dest, const void *src, size_t n) nuclear@1: { nuclear@1: char *dptr = dest; nuclear@1: const char *sptr = src; nuclear@1: nuclear@1: while(n--) { nuclear@1: *dptr++ = *sptr++; nuclear@1: } nuclear@1: return dest; nuclear@1: } nuclear@1: nuclear@1: void *memmove(void *dest, const void *src, size_t n) nuclear@1: { nuclear@1: int i; nuclear@1: char *dptr; nuclear@1: const char *sptr; nuclear@1: nuclear@1: if(dest <= src) { nuclear@1: /* forward copy */ nuclear@1: dptr = dest; nuclear@1: sptr = src; nuclear@1: for(i=0; i= s) { nuclear@5: if(*ptr == c) { nuclear@9: return (char*)ptr; nuclear@5: } nuclear@5: } nuclear@5: return 0; nuclear@5: } nuclear@67: nuclear@67: int strcmp(const char *s1, const char *s2) nuclear@67: { nuclear@67: while(*s1 && *s1 == *s2) { nuclear@67: s1++; nuclear@67: s2++; nuclear@67: } nuclear@67: return *s1 - *s2; nuclear@67: }