X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=AcessNative%2Facesskernel_src%2Fhelpers.c;h=6396d1666c755eb92d7d99e1466604509c60ebfa;hb=6274aaa8894e14462a36c69090e2f9235f130e31;hp=51b96533786b0d08f4c5d7f1559fbf49e405b756;hpb=9d101ee5f5231954a7102da36997aa8d568a6157;p=tpg%2Facess2.git diff --git a/AcessNative/acesskernel_src/helpers.c b/AcessNative/acesskernel_src/helpers.c index 51b96533..6396d166 100644 --- a/AcessNative/acesskernel_src/helpers.c +++ b/AcessNative/acesskernel_src/helpers.c @@ -144,7 +144,6 @@ int strpos(const char *str, char ch) { const char *retptr = strchr(str, ch); int rv = retptr ? retptr - str : -1; - fprintf(stderr, "strpos: str = %p'%s', retptr = %p, rv = %i\n", str, str, retptr, rv); return rv; } @@ -152,7 +151,6 @@ int CheckString(const char *string) { if( (intptr_t)string < 0x1000 ) return 0; - strlen(string); return 1; } @@ -163,3 +161,38 @@ int CheckMem(const void *buf, size_t len) return 1; } +void itoa(char *buf, Uint64 num, int base, int minLength, char pad) +{ + static const char cUCDIGITS[] = "0123456789ABCDEF"; + char tmpBuf[64+1]; + int pos=0, i; + Uint64 rem; + + // Sanity check + if(!buf) return; + + // Sanity Check + if(base > 16 || base < 2) { + buf[0] = 0; + return; + } + + // Convert + while(num > base-1) { + rem = num % base; + num = num / base; // Shift `num` and get remainder + tmpBuf[pos] = cUCDIGITS[ rem ]; + pos++; + } + tmpBuf[pos++] = cUCDIGITS[ num ]; // Last digit of `num` + + // Put in reverse + i = 0; + minLength -= pos; + while(minLength-- > 0) + buf[i++] = pad; + while(pos-- > 0) + buf[i++] = tmpBuf[pos]; // Reverse the order of characters + buf[i] = 0; +} +