X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Flib.c;h=cab15b3c758b363fec6af1dc2750e6c50007c112;hb=05e8b329edc7c55eec967c3caba1982c173025e3;hp=a7cffd63e53bc865e8f46ccafe2ec50d89c93715;hpb=30e30d7bc325852a8677819d11a47373b08d6271;p=tpg%2Facess2.git diff --git a/Kernel/lib.c b/Kernel/lib.c index a7cffd63..cab15b3c 100644 --- a/Kernel/lib.c +++ b/Kernel/lib.c @@ -180,6 +180,9 @@ void itoa(char *buf, Uint num, int base, int minLength, char pad) if(pos==__maxlen){return pos;}\ if(__s){__s[pos++]=ch;}else{pos++;}\ }while(0) +/** + * \brief VArg String Number Print Formatted + */ int vsnprintf(char *__s, size_t __maxlen, const char *__format, va_list args) { char c, pad = ' '; @@ -232,7 +235,7 @@ int vsnprintf(char *__s, size_t __maxlen, const char *__format, va_list args) pad = ' '; // - Minimum length - if(c == '*') { + if(c == '*') { // Dynamic length minSize = val; val = va_arg(args, Uint); c = *__format++; @@ -270,14 +273,14 @@ int vsnprintf(char *__s, size_t __maxlen, const char *__format, va_list args) { case 'd': case 'i': - #if BITS == 32 - if( (isLongLong && val >> 63) || (!isLongLong && val >> 31) ) { - #else - if( (Sint)val < 0 ) { - #endif + if( isLongLong && val >> 63 ) { PUTCH('-'); val = -val; } + else if( !isLongLong && val >> 31 ) { + PUTCH('-'); + val = -(Sint32)val; + } itoa(p, val, 10, minSize, pad); goto printString; case 'u': @@ -300,7 +303,7 @@ int vsnprintf(char *__s, size_t __maxlen, const char *__format, va_list args) // String - Null Terminated Array case 's': - p = (char*)(Uint)val; + p = (char*)(tVAddr)val; printString: if(!p) p = "(null)"; len = strlen(p); @@ -310,7 +313,7 @@ int vsnprintf(char *__s, size_t __maxlen, const char *__format, va_list args) break; case 'C': // Non-Null Terminated Character Array - p = (char*)(Uint)val; + p = (char*)(tVAddr)val; if(!p) goto printString; while(minSize--) PUTCH(*p++); break; @@ -662,7 +665,7 @@ Sint64 timestamp(int sec, int mins, int hrs, int day, int month, int year) ) && month > 1) // Leap year and after feb stamp += 3600*24; - stamp += ((365*4+1) * ((year-2000)&~3)) * 3600*24; // Foour Year Segments + stamp += ((365*4+1) * ((year-2000)&~3)) * 3600*24; // Four Year Segments stamp += ((year-2000)&3) * 365*3600*24; // Inside four year segment stamp += UNIX_TO_2K; @@ -684,8 +687,10 @@ Uint rand(void) return giRandomState; } -/// \name Memory Validation -/// \{ +/* * + * \name Memory Validation + * \{ + */ /** * \brief Checks if a string resides fully in valid memory */ @@ -751,7 +756,9 @@ int CheckMem(void *Mem, int NumBytes) } return 0; } -/// \} +/* * + * \} + */ /** * \brief Search a string array for \a Needle