diff --git a/src/backend/utils/adt/cash.c b/src/backend/utils/adt/cash.c
index befa27f9bb8b81eddc2bb0765b2a4f44d27f2eab..cd4fc6af092091bd44b790f3987150c3b3af1a11 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)
 	{