From 0b510ad920f86cc3a4540f8ab7840557edf5c418 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Mon, 9 Jun 2008 19:58:39 +0000
Subject: [PATCH] Fix unportable (and incorrect anyway) usage of LL constant
 suffix that recently snuck into cash.c.  Per report from Edmundo Robles
 Lopez.

---
 src/backend/utils/adt/cash.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/backend/utils/adt/cash.c b/src/backend/utils/adt/cash.c
index befa27f9bb8..cd4fc6af092 100644
--- a/src/backend/utils/adt/cash.c
+++ b/src/backend/utils/adt/cash.c
@@ -13,7 +13,7 @@
  * this version handles 64 bit numbers and so can hold values up to
  * $92,233,720,368,547,758.07.
  *
- * $PostgreSQL: pgsql/src/backend/utils/adt/cash.c,v 1.79 2008/04/21 00:26:45 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/cash.c,v 1.80 2008/06/09 19:58:39 tgl Exp $
  */
 
 #include "postgres.h"
@@ -794,13 +794,13 @@ cash_words(PG_FUNCTION_ARGS)
 	/* Now treat as unsigned, to avoid trouble at INT_MIN */
 	val = (uint64) value;
 
-	m0 = val % 100ll;			/* cents */
-	m1 = (val / 100ll) % 1000;	/* hundreds */
-	m2 = (val / 100000ll) % 1000;		/* thousands */
-	m3 = val / 100000000ll % 1000;		/* millions */
-	m4 = val / 100000000000ll % 1000;	/* billions */
-	m5 = val / 100000000000000ll % 1000;		/* trillions */
-	m6 = val / 100000000000000000ll % 1000;		/* quadrillions */
+	m0 = val % INT64CONST(100);							/* cents */
+	m1 = (val / INT64CONST(100)) % 1000;				/* hundreds */
+	m2 = (val / INT64CONST(100000)) % 1000;				/* thousands */
+	m3 = (val / INT64CONST(100000000)) % 1000;			/* millions */
+	m4 = (val / INT64CONST(100000000000)) % 1000;		/* billions */
+	m5 = (val / INT64CONST(100000000000000)) % 1000;	/* trillions */
+	m6 = (val / INT64CONST(100000000000000000)) % 1000;	/* quadrillions */
 
 	if (m6)
 	{
-- 
GitLab