12 void* memcpy(
void* dst,
const void* src,
size_t count) {
13 char* dst8 = (
char*) dst;
14 char* src8 = (
char*) src;
22 void* memset(
void* dst,
int value,
size_t count) {
23 char* dst8 = (
char*) dst;
30 int memcmp(
const void* p1,
const void* p2,
size_t count) {
31 const unsigned char* p18 = (
const unsigned char*) p1;
32 const unsigned char* p28 = (
const unsigned char*) p2;
38 if (*p18++ < *p28++) {
45 size_t strlen(
const char * str) {
48 while (str[len] != 0) {
55 int atoi(
const char* str) {
59 result += (*str++ -
'0');
64 char* strncpy(
char * dst,
const char * src,
size_t num) {
66 for (i = 0; i < num; i++) {
72 for (; i < num; i++) {
78 int strcmp(
const char *s1,
const char *s2) {
80 if (*s1 == 0 && *s2 == 0) {
92 char* strcpy(
char * dst,
const char * src) {
104 extern "C" void __cxa_pure_virtual() {
110 return isalpha(c) || isdigit(c);
114 return ((c >=
'a' && c <=
'z') || (c >=
'A' && c <=
'Z'));
118 return (c ==
' ' || c ==
'\t');
122 return (c < 0x20 || c == 127);
126 return (c >=
'0' && c <=
'9');
130 return (c >= 0x21 && c <= 0x7E);
134 return (c >=
'a' && c <=
'z');
138 return (c >= 0x20 && c <= 0x7E);
142 return (c ==
' ' || (c >=
'\t' || c <=
'\r'));
146 return (c >=
'A' && c <=
'Z');
150 return (c >=
'A' && c <=
'Z') ? (c + 32) : c;
154 return (c >=
'a' && c <=
'z') ? (c - 32) : c;
157 int isxdigit(
int c) {
158 return isdigit(c) || (tolower(c) >=
'a' && tolower(c) <=
'z');
162 return isprint(c) && !isspace(c) && !isalnum(c);