X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Flib.c;h=f07e9f34ade4f23ff1082524c3a075c91149846d;hb=16ca11dc51a56693f9a70907a3025906d1d6c9e5;hp=60cbd4c7c68ad4585e0c03acf8d4230fbeab9a88;hpb=48743e39650eb1ef988380e9d95f27fd40d3a9ce;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/lib.c b/KernelLand/Kernel/lib.c index 60cbd4c7..f07e9f34 100644 --- a/KernelLand/Kernel/lib.c +++ b/KernelLand/Kernel/lib.c @@ -17,8 +17,10 @@ const short DAYS_BEFORE[] = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 3 // === PROTOTYPES === #if 0 int atoi(const char *string); + int ParseInt(const char *string, int *Val); void itoa(char *buf, Uint64 num, int base, int minLength, char pad); int vsnprintf(char *__s, size_t __maxlen, const char *__format, va_list args); + int snprintf(char *__s, size_t __n, const char *__format, ...); int sprintf(char *__s, const char *__format, ...); #endif int tolower(int c); @@ -56,6 +58,7 @@ void format_date(tTime TS, int *year, int *month, int *day, int *hrs, int *mins, EXPORT(atoi); EXPORT(itoa); EXPORT(vsnprintf); +EXPORT(snprintf); EXPORT(sprintf); EXPORT(tolower); EXPORT(strucmp); @@ -84,6 +87,7 @@ EXPORT(ModUtil_SetIdent); EXPORT(UnHex); EXPORT(SwapEndian16); EXPORT(SwapEndian32); +EXPORT(SwapEndian64); EXPORT(memmove); // === CODE === @@ -408,6 +412,20 @@ int vsnprintf(char *__s, size_t __maxlen, const char *__format, va_list args) } #undef PUTCH +/** + */ +int snprintf(char *__s, size_t __n, const char *__format, ...) +{ + va_list args; + int ret; + + va_start(args, __format); + ret = vsnprintf(__s, __n, __format, args); + va_end(args); + + return ret; +} + /** */ int sprintf(char *__s, const char *__format, ...) @@ -1043,6 +1061,10 @@ Uint32 SwapEndian32(Uint32 Val) { return ((Val&0xFF)<<24) | ((Val&0xFF00)<<8) | ((Val>>8)&0xFF00) | ((Val>>24)&0xFF); } +Uint64 SwapEndian64(Uint64 Val) +{ + return SwapEndian32(Val >> 32) | ((Uint64)SwapEndian32(Val) << 32); +} void *memmove(void *__dest, const void *__src, size_t len) {