aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1997-08-22 07:13:01 +0000
committerBruce Momjian <bruce@momjian.us>1997-08-22 07:13:01 +0000
commit021778eed3e6485b35ec74bbbf61a31724e87f23 (patch)
treed93e775420a611509aaaccea96b49661aaeebe8b /src
parent7515bb484eac9d04b5f49fde94566d1807b84dea (diff)
downloadpostgresql-021778eed3e6485b35ec74bbbf61a31724e87f23.tar.gz
postgresql-021778eed3e6485b35ec74bbbf61a31724e87f23.zip
We store Cash/money as int of size 4, so make it an int rather than a long.
Diffstat (limited to 'src')
-rw-r--r--src/backend/parser/parser.c8
-rw-r--r--src/backend/utils/adt/cash.c8
-rw-r--r--src/include/utils/cash.h5
3 files changed, 11 insertions, 10 deletions
diff --git a/src/backend/parser/parser.c b/src/backend/parser/parser.c
index 44e8ef91006..ab4276055cd 100644
--- a/src/backend/parser/parser.c
+++ b/src/backend/parser/parser.c
@@ -6,7 +6,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parser.c,v 1.21 1997/08/22 00:02:08 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parser.c,v 1.22 1997/08/22 07:12:45 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -196,7 +196,7 @@ parser_typecast(Value *expr, TypeName *typename, int typlen)
case T_Integer:
const_string = (char *) palloc(256);
string_palloced = true;
- sprintf(const_string, "%ld", expr->val.ival);
+ sprintf(const_string, "%d", expr->val.ival);
break;
default:
elog(WARN,
@@ -242,7 +242,7 @@ parser_typecast(Value *expr, TypeName *typename, int typlen)
case CASHOID: /* money */
const_string = (char *) palloc(256);
string_palloced = true;
- sprintf(const_string,"%ld",
+ sprintf(const_string,"%d",
(int) ((Const*)expr)->constvalue);
break;
@@ -360,7 +360,7 @@ parser_typecast2(Node *expr, Oid exprType, Type tp, int typlen)
case CASHOID: /* money */
const_string = (char *) palloc(256);
string_palloced = true;
- sprintf(const_string,"%ld",
+ sprintf(const_string,"%d",
(long) ((Const*)expr)->constvalue);
break;
case TEXTOID: /* text */
diff --git a/src/backend/utils/adt/cash.c b/src/backend/utils/adt/cash.c
index 3bc01c748f2..1cadb742e62 100644
--- a/src/backend/utils/adt/cash.c
+++ b/src/backend/utils/adt/cash.c
@@ -3,13 +3,13 @@
* Written by D'Arcy J.M. Cain
*
* Functions to allow input and output of money normally but store
- * and handle it as longs
+ * and handle it as int4s
*
* A slightly modified version of this file and a discussion of the
* workings can be found in the book "Software Solutions in C" by
* Dale Schumacher, Academic Press, ISBN: 0-12-632360-7.
*
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/cash.c,v 1.8 1997/08/21 23:56:37 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/cash.c,v 1.9 1997/08/22 07:12:52 momjian Exp $
*/
#include <stdio.h>
@@ -97,7 +97,7 @@ cash_in(const char *str)
while (isspace(*s) || *s == csymbol) s++;
for (; ; s++) {
- /* we look for digits as long as we have less */
+ /* we look for digits as int4 as we have less */
/* than the required number of decimal places */
if (isdigit(*s) && dec < fpoint) {
value = (value * 10) + *s - '0';
@@ -421,7 +421,7 @@ cashsmaller(Cash *c1, Cash *c2)
/* cash_words_out()
- * This converts a long as well but to a representation using words
+ * This converts a int4 as well but to a representation using words
* Obviously way North American centric - sorry
*/
const char *
diff --git a/src/include/utils/cash.h b/src/include/utils/cash.h
index 0461a5c2513..9307654315a 100644
--- a/src/include/utils/cash.h
+++ b/src/include/utils/cash.h
@@ -3,13 +3,14 @@
* Written by D'Arcy J.M. Cain
*
* Functions to allow input and output of money normally but store
- * and handle it as long integers.
+ * and handle it as int4.
*/
#ifndef CASH_H
#define CASH_H
-typedef long int Cash;
+/* if we store this as 4 bytes, we better make it int, not long, bjm */
+typedef signed int Cash;
extern const char *cash_out(Cash *value);
extern Cash *cash_in(const char *str);