17d36db35SAvi Kivity #include "libcflat.h" 27d36db35SAvi Kivity 37d36db35SAvi Kivity unsigned long strlen(const char *buf) 47d36db35SAvi Kivity { 57d36db35SAvi Kivity unsigned long len = 0; 67d36db35SAvi Kivity 77d36db35SAvi Kivity while (*buf++) 87d36db35SAvi Kivity ++len; 97d36db35SAvi Kivity return len; 107d36db35SAvi Kivity } 117d36db35SAvi Kivity 127d36db35SAvi Kivity char *strcat(char *dest, const char *src) 137d36db35SAvi Kivity { 147d36db35SAvi Kivity char *p = dest; 157d36db35SAvi Kivity 167d36db35SAvi Kivity while (*p) 177d36db35SAvi Kivity ++p; 187d36db35SAvi Kivity while ((*p++ = *src++) != 0) 197d36db35SAvi Kivity ; 207d36db35SAvi Kivity return dest; 217d36db35SAvi Kivity } 227d36db35SAvi Kivity 237d36db35SAvi Kivity void *memset(void *s, int c, size_t n) 247d36db35SAvi Kivity { 257d36db35SAvi Kivity size_t i; 267d36db35SAvi Kivity char *a = s; 277d36db35SAvi Kivity 287d36db35SAvi Kivity for (i = 0; i < n; ++i) 297d36db35SAvi Kivity a[i] = c; 307d36db35SAvi Kivity 317d36db35SAvi Kivity return s; 327d36db35SAvi Kivity } 33*1b708e8cSJason Wang 34*1b708e8cSJason Wang long atol(const char *ptr) 35*1b708e8cSJason Wang { 36*1b708e8cSJason Wang long acc = 0; 37*1b708e8cSJason Wang const char *s = ptr; 38*1b708e8cSJason Wang int neg, c; 39*1b708e8cSJason Wang 40*1b708e8cSJason Wang while (*s == ' ' || *s == '\t') 41*1b708e8cSJason Wang s++; 42*1b708e8cSJason Wang if (*s == '-'){ 43*1b708e8cSJason Wang neg = 1; 44*1b708e8cSJason Wang s++; 45*1b708e8cSJason Wang } else { 46*1b708e8cSJason Wang neg = 0; 47*1b708e8cSJason Wang if (*s == '+') 48*1b708e8cSJason Wang s++; 49*1b708e8cSJason Wang } 50*1b708e8cSJason Wang 51*1b708e8cSJason Wang while (*s) { 52*1b708e8cSJason Wang if (*s < '0' || *s > '9') 53*1b708e8cSJason Wang break; 54*1b708e8cSJason Wang c = *s - '0'; 55*1b708e8cSJason Wang acc = acc * 10 + c; 56*1b708e8cSJason Wang s++; 57*1b708e8cSJason Wang } 58*1b708e8cSJason Wang 59*1b708e8cSJason Wang if (neg) 60*1b708e8cSJason Wang acc = -acc; 61*1b708e8cSJason Wang 62*1b708e8cSJason Wang return acc; 63*1b708e8cSJason Wang } 64