int strncmp(const char *_l, const char *_r, int n) | |
{ | |
const unsigned char *l=(void *)_l, *r=(void *)_r; | |
if (!n--) return 0; | |
for (; *l && *r && n && *l == *r ; l++, r++, n--); | |
return *l - *r; | |
} | |
int strlen(const char *s) | |
{ | |
const char *a = s; | |
for (; *s; s++); | |
return s-a; | |
} | |
char *strcpy(char * d, const char * s) | |
{ | |
for (; (*d=*s); s++, d++); | |
return d; | |
} | |
void *memset(void *dest, int c, int n) | |
{ | |
unsigned char *s = dest; | |
for (; n; n--, s++) *s = c; | |
return dest; | |
} | |
int isprint(int c) | |
{ | |
return c > 32 && c < 256; | |
} |