16#define kLongMax ((long) (~0UL >> 1))
17#define kLongMin (~kLongMax)
25EXTERN_C void*
memset(
void* dst,
int byte,
long long unsigned int len);
31EXTERN_C void*
memcpy(
void* dst,
const void* src,
long long unsigned int len);
34EXTERN_C size_t strlen(
const char* whatToCheck);
37EXTERN_C int strcmp(
const char* whatToCheck,
const char* whatToCheckRight);
47#define SetMem(dst, c, sz) memset(dst, c, sz)
48#define MoveMem(dst, src, sz) memcpy(dst, src, sz)
49#define CopyMem(dst, src, sz) memcpy(dst, src, sz)
50#define StrLen(src) strlen(src)
51#define StrCmp(dst, src) strcmp(dst, src)
57inline int StringNCompare(
const char* destination,
const char* source,
long length) {
60 for (
long i = 0UL; i < length; ++i) {
61 if (source[i] != destination[i]) ++err;
67inline long StringToLong(
const char* nptr,
char** endptr,
int base) {
68 const char *p = nptr, *endp;
69 bool is_neg = 0, overflow = 0;
72 unsigned long n = 0UL, cutoff;
75 if (base < 0 || base == 1 || base > 36) {
85 }
else if (*p ==
'-') {
94 if (base == 16 && (*p ==
'X' || *p ==
'x')) {
96 }
else if (base == 2 && (*p ==
'B' || *p ==
'b')) {
99 }
else if (base == 0) {
100 if (*p ==
'X' || *p ==
'x') {
102 }
else if (*p ==
'B' || *p ==
'b') {
108 }
else if (base == 0) {
118 c = ((*p -
'A') & (~(
'a' ^
'A'))) + 10;
123 if (c < 0 || c >= base)
break;
128 if (endptr)
continue;
131 if (n > cutoff || (n == cutoff && c > cutlim)) {
138 if (endptr) *endptr = (
char*) endp;
144 return (
long) ((is_neg) ? -n : n);
EXTERN_C void * memset(void *dst, int c, long long unsigned int len)
C Standard Library overrides. /// =========================================================== ///.
Definition CRuntimeOverrides.cc:15
EXTERN_C void * memcpy(void *dst, const void *src, long long unsigned int len)
Definition CRuntimeOverrides.cc:19
EXTERN_C Int32 strcmp(const char *a, const char *b)
Definition CRuntimeOverrides.cc:25
int IsSpace(int c)
Definition Support.h:53
int StringNCompare(const char *destination, const char *source, long length)
Definition Support.h:57
#define kLongMax
Definition Support.h:16
#define kLongMin
Definition Support.h:17
long StringToLong(const char *nptr, char **endptr, int base)
Definition Support.h:67