From 589c17bd27daef32a0d56d96a4a2099d16704811 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Tue, 24 Oct 2000 09:16:41 +0000
Subject: [PATCH] Created ultoa for GNU CC.

---
 src/sbbs3/sbbswrap.h | 13 +++++--------
 src/sbbs3/wrappers.c | 21 +++++++++++++++++++++
 2 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/src/sbbs3/sbbswrap.h b/src/sbbs3/sbbswrap.h
index c460e3c9ac..6fe2e1c679 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 939e442d5e..e77129e47c 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)					*/
 /****************************************************************************/
-- 
GitLab