diff --git a/src/port/snprintf.c b/src/port/snprintf.c
index 122f4f3ba68fba417ee3810fd32b633d56a7e7ab..07a034b16eca0bb14c43af823f58b9f571813c23 100644
--- a/src/port/snprintf.c
+++ b/src/port/snprintf.c
@@ -35,30 +35,11 @@
 /* might be in either frontend or backend */
 #include "postgres_fe.h"
 
-#ifdef ENABLE_THREAD_SAFETY
-#error	The replacement snprintf() is not thread-safe.	\
-Your platform must have a thread-safe snprintf() to compile with threads.
-#endif
-
 #ifndef WIN32
 #include <sys/ioctl.h>
 #endif
 #include <sys/param.h>
 
-
-/*
- * We do all internal arithmetic in the widest available integer type,
- * here called long_long (or ulong_long for unsigned).
- */
-#ifdef HAVE_LONG_LONG_INT_64
-typedef long long long_long;
-typedef unsigned long long ulong_long;
-
-#else
-typedef long long_long;
-typedef unsigned long ulong_long;
-#endif
-
 #ifndef NL_ARGMAX
 #define NL_ARGMAX 4096
 #endif
@@ -85,7 +66,7 @@ typedef unsigned long ulong_long;
  * causing nasty effects.
  **************************************************************/
 
-/*static char _id[] = "$PostgreSQL: pgsql/src/port/snprintf.c,v 1.8 2005/03/01 00:38:11 momjian Exp $";*/
+/*static char _id[] = "$PostgreSQL: pgsql/src/port/snprintf.c,v 1.9 2005/03/01 05:47:28 momjian Exp $";*/
 
 int			snprintf(char *str, size_t count, const char *fmt,...);
 int			vsnprintf(char *str, size_t count, const char *fmt, va_list args);
@@ -139,7 +120,7 @@ vsnprintf(char *str, size_t count, const char *fmt, va_list args)
  */
 
 static void fmtstr(char *value, int ljust, int len, int zpad, int maxwidth, char *end);
-static void fmtnum(long_long value, int base, int dosign, int ljust, int len, int zpad, char *end);
+static void fmtnum(int64 value, int base, int dosign, int ljust, int len, int zpad, char *end);
 static void fmtfloat(double value, char type, int ljust, int len, int precision, int pointflag, char *end);
 static void dostr(char *str, int cut, char *end);
 static void dopr_outch(int c, char *end);
@@ -155,7 +136,7 @@ static void
 dopr(char *buffer, const char *format, va_list args, char *end)
 {
 	int			ch;
-	long_long	value;
+	int64		value;
 	double		fvalue;
 	int			longlongflag = 0;
 	int			longflag = 0;
@@ -175,7 +156,7 @@ dopr(char *buffer, const char *format, va_list args, char *end)
 		const char*	fmtbegin;
 		const char*	fmtend;
 		void*	value;
-		long_long	numvalue;
+		int64	numvalue;
 		double	fvalue;
 		int	charvalue;
 		int	ljust;
@@ -258,7 +239,7 @@ dopr(char *buffer, const char *format, va_list args, char *end)
 						if (longflag)
 						{
 							if (longlongflag)
-								value = va_arg(args, ulong_long);
+								value = va_arg(args, uint64);
 							else
 								value = va_arg(args, unsigned long);
 						}
@@ -282,7 +263,7 @@ dopr(char *buffer, const char *format, va_list args, char *end)
 						if (longflag)
 						{
 							if (longlongflag)
-								value = va_arg(args, ulong_long);
+								value = va_arg(args, uint64);
 							else
 								value = va_arg(args, unsigned long);
 						}
@@ -305,7 +286,7 @@ dopr(char *buffer, const char *format, va_list args, char *end)
 						if (longflag)
 						{
 							if (longlongflag)
-								value = va_arg(args, long_long);
+								value = va_arg(args, int64);
 							else
 								value = va_arg(args, long);
 						}
@@ -327,7 +308,7 @@ dopr(char *buffer, const char *format, va_list args, char *end)
 						if (longflag)
 						{
 							if (longlongflag)
-								value = va_arg(args, ulong_long);
+								value = va_arg(args, uint64);
 							else
 								value = va_arg(args, unsigned long);
 						}
@@ -349,7 +330,7 @@ dopr(char *buffer, const char *format, va_list args, char *end)
 						if (longflag)
 						{
 							if (longlongflag)
-								value = va_arg(args, ulong_long);
+								value = va_arg(args, uint64);
 							else
 								value = va_arg(args, unsigned long);
 						}
@@ -505,10 +486,10 @@ fmtstr(char *value, int ljust, int len, int zpad, int maxwidth, char *end)
 }
 
 static void
-fmtnum(long_long value, int base, int dosign, int ljust, int len, int zpad, char *end)
+fmtnum(int64 value, int base, int dosign, int ljust, int len, int zpad, char *end)
 {
 	int			signvalue = 0;
-	ulong_long	uvalue;
+	uint64		uvalue;
 	char		convert[64];
 	int			place = 0;
 	int			padlen = 0;		/* amount to pad */