1*fc8c745dSAlexey Kardashevskiy #include "vof.h"
2*fc8c745dSAlexey Kardashevskiy
strlen(const char * s)3*fc8c745dSAlexey Kardashevskiy int strlen(const char *s)
4*fc8c745dSAlexey Kardashevskiy {
5*fc8c745dSAlexey Kardashevskiy int len = 0;
6*fc8c745dSAlexey Kardashevskiy
7*fc8c745dSAlexey Kardashevskiy while (*s != 0) {
8*fc8c745dSAlexey Kardashevskiy len += 1;
9*fc8c745dSAlexey Kardashevskiy s += 1;
10*fc8c745dSAlexey Kardashevskiy }
11*fc8c745dSAlexey Kardashevskiy
12*fc8c745dSAlexey Kardashevskiy return len;
13*fc8c745dSAlexey Kardashevskiy }
14*fc8c745dSAlexey Kardashevskiy
strcmp(const char * s1,const char * s2)15*fc8c745dSAlexey Kardashevskiy int strcmp(const char *s1, const char *s2)
16*fc8c745dSAlexey Kardashevskiy {
17*fc8c745dSAlexey Kardashevskiy while (*s1 != 0 && *s2 != 0) {
18*fc8c745dSAlexey Kardashevskiy if (*s1 != *s2) {
19*fc8c745dSAlexey Kardashevskiy break;
20*fc8c745dSAlexey Kardashevskiy }
21*fc8c745dSAlexey Kardashevskiy s1 += 1;
22*fc8c745dSAlexey Kardashevskiy s2 += 1;
23*fc8c745dSAlexey Kardashevskiy }
24*fc8c745dSAlexey Kardashevskiy
25*fc8c745dSAlexey Kardashevskiy return *s1 - *s2;
26*fc8c745dSAlexey Kardashevskiy }
27*fc8c745dSAlexey Kardashevskiy
memcpy(void * dest,const void * src,size_t n)28*fc8c745dSAlexey Kardashevskiy void *memcpy(void *dest, const void *src, size_t n)
29*fc8c745dSAlexey Kardashevskiy {
30*fc8c745dSAlexey Kardashevskiy char *cdest;
31*fc8c745dSAlexey Kardashevskiy const char *csrc = src;
32*fc8c745dSAlexey Kardashevskiy
33*fc8c745dSAlexey Kardashevskiy cdest = dest;
34*fc8c745dSAlexey Kardashevskiy while (n-- > 0) {
35*fc8c745dSAlexey Kardashevskiy *cdest++ = *csrc++;
36*fc8c745dSAlexey Kardashevskiy }
37*fc8c745dSAlexey Kardashevskiy
38*fc8c745dSAlexey Kardashevskiy return dest;
39*fc8c745dSAlexey Kardashevskiy }
40*fc8c745dSAlexey Kardashevskiy
memcmp(const void * ptr1,const void * ptr2,size_t n)41*fc8c745dSAlexey Kardashevskiy int memcmp(const void *ptr1, const void *ptr2, size_t n)
42*fc8c745dSAlexey Kardashevskiy {
43*fc8c745dSAlexey Kardashevskiy const unsigned char *p1 = ptr1;
44*fc8c745dSAlexey Kardashevskiy const unsigned char *p2 = ptr2;
45*fc8c745dSAlexey Kardashevskiy
46*fc8c745dSAlexey Kardashevskiy while (n-- > 0) {
47*fc8c745dSAlexey Kardashevskiy if (*p1 != *p2) {
48*fc8c745dSAlexey Kardashevskiy return *p1 - *p2;
49*fc8c745dSAlexey Kardashevskiy }
50*fc8c745dSAlexey Kardashevskiy p1 += 1;
51*fc8c745dSAlexey Kardashevskiy p2 += 1;
52*fc8c745dSAlexey Kardashevskiy }
53*fc8c745dSAlexey Kardashevskiy
54*fc8c745dSAlexey Kardashevskiy return 0;
55*fc8c745dSAlexey Kardashevskiy }
56*fc8c745dSAlexey Kardashevskiy
memset(void * dest,int c,size_t size)57*fc8c745dSAlexey Kardashevskiy void *memset(void *dest, int c, size_t size)
58*fc8c745dSAlexey Kardashevskiy {
59*fc8c745dSAlexey Kardashevskiy unsigned char *d = (unsigned char *)dest;
60*fc8c745dSAlexey Kardashevskiy
61*fc8c745dSAlexey Kardashevskiy while (size-- > 0) {
62*fc8c745dSAlexey Kardashevskiy *d++ = (unsigned char)c;
63*fc8c745dSAlexey Kardashevskiy }
64*fc8c745dSAlexey Kardashevskiy
65*fc8c745dSAlexey Kardashevskiy return dest;
66*fc8c745dSAlexey Kardashevskiy }
67