Fix unportable (and incorrect anyway) usage of LL constant suffix that
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 9 Jun 2008 19:58:46 +0000 (19:58 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 9 Jun 2008 19:58:46 +0000 (19:58 +0000)
recently snuck into cash.c.  Per report from Edmundo Robles Lopez.

src/backend/utils/adt/cash.c

index 857a83c84eba371b9114fbc0b883b74ff3407828..b5896e16f6f790481821ea1202fb5a479dded061 100644 (file)
@@ -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)
        {