46 unsigned long long mystrtoull(
const char *s,
char **endp,
int base)
48 unsigned long long res = 0;
56 fprintf(stderr,
"mystrtoull(): endp isn't implemented\n");
71 if (s[1] ==
'x' || s[1] ==
'X') {
78 }
else if (s[0] >=
'1' && s[0] <=
'9')
84 if (c >=
'0' && c <=
'9')
86 else if (c >=
'a' && c <=
'f')
88 else if (c >=
'A' && c <=
'F')
93 case 8: res = (res << 3) | c;
95 case 16:res = (res << 4) | c;
97 default:res = (res * base) + c;
103 res = (uint64_t) -(int64_t)res;
121 *p = 48 + random() % 10;
125 h = open(templ, O_RDWR | O_CREAT | O_EXCL, 0600);
130 #ifdef USE_STRLCPY_REPLACEMENTS 137 size_t mystrlcpy(
char *dst,
const char *src,
size_t size)
150 size_t mystrlcat(
char *dst,
const char *src,
size_t size)
152 size_t orig_dst_len =
strlen(dst);
154 return strlen(src) + orig_dst_len;
unsigned long long mystrtoull(const char *s, char **endp, int base)
void print_separator_line(void)
int mymkstemp(char *templ)
size_t mystrlcpy(char *dst, const char *src, size_t size)
void COMBINE() strlen(struct cpu *cpu, struct arm_instr_call *ic, int low_addr)
size_t mystrlcat(char *dst, const char *src, size_t size)