AcessNative - Fixes for recent userland changes, cleanups
[tpg/acess2.git] / AcessNative / acesskernel_src / helpers.c
index 51b9653..6396d16 100644 (file)
@@ -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;
+}
+

UCC git Repository :: git.ucc.asn.au