diff --git a/src/sbbs3/sbbswrap.h b/src/sbbs3/sbbswrap.h index c460e3c9acce38ef3ae705b8aada4910bf52951d..6fe2e1c67905a05601d4ec7004bfd9669bd1fa04 100644 --- a/src/sbbs3/sbbswrap.h +++ b/src/sbbs3/sbbswrap.h @@ -89,20 +89,17 @@ extern "C" { /* Compiler-specific */ /*********************/ -#if defined(__GNUC__) /* GNU CC */ - -#warning "ultoa needs to be defined or replaced" -#define ultoa ltoa - -#endif /* __GNUC__ */ +#ifdef __GNUC__ /* GNU CC */ + DLLEXPORT char* ultoa(ulong, char*, int radix); +#endif #ifdef __BORLANDC__ #define sbbs_random(x) random(x) -#else +#else DLLEXPORT int sbbs_random(int n); #endif -#if (__BORLANDC__ > 0x0410) +#if __BORLANDC__ > 0x0410 #define _chmod(p,f,a) _rtl_chmod(p,f,a) /* _chmod obsolete in 4.x */ #endif diff --git a/src/sbbs3/wrappers.c b/src/sbbs3/wrappers.c index 939e442d5e43675cf88fded3c2d084912b2255c6..e77129e47c4902cefdef36ef2583908523931041 100644 --- a/src/sbbs3/wrappers.c +++ b/src/sbbs3/wrappers.c @@ -107,6 +107,27 @@ int sbbs_random(int n) } #endif +/****************************************************************************/ +/* There may be a native GNU C Library function to this... */ +/****************************************************************************/ +#ifdef __GNUC__ +char* ultoa(ulong val, char* str, int radix) +{ + switch(radix) { + case 10: + sprintf(str,"%lu",val); + break; + case 16: + sprintf(str,"%lx",val); + break; + default: + sprintf(str,"bad radix: %d",radix); + break; + } + return(str); +} +#endif + /****************************************************************************/ /* Return free disk space in bytes (up to a maximum of 4GB) */ /****************************************************************************/