From JM de Lauwereyns ([email protected]):
authorThomas G. Lockhart
Fri, 3 Oct 1997 13:10:06 +0000 (13:10 +0000)
committerThomas G. Lockhart
Fri, 3 Oct 1997 13:10:06 +0000 (13:10 +0000)
lconv is already taken as a struct identifier defined in a /usr/include file.
Only has an effect with USE_LOCALE enabled.
(Apparently unique to AIX and/or AIX compiler? thomas)

src/backend/utils/adt/cash.c

index 2de35f6a3b8b03c744b8f1697dba75c20b238502..7b1a00e9f272ac74ce9bd1ba0b5080981f9de227 100644 (file)
@@ -9,7 +9,7 @@
  * 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.16 1997/09/20 16:15:34 thomas Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/cash.c,v 1.17 1997/10/03 13:10:06 thomas Exp $
  */
 
 #include 
@@ -33,8 +33,7 @@ static const char *num_word(Cash value);
 #define LAST_DIGIT     (LAST_PAREN - 1)
 
 #ifdef USE_LOCALE
-static struct lconv *lconv = NULL;
-
+static struct lconv *lconvert = NULL;
 #endif
 
 /* cash_in()
@@ -65,18 +64,18 @@ cash_in(const char *str)
                csymbol;
 
 #ifdef USE_LOCALE
-   if (lconv == NULL)
-       lconv = localeconv();
+   if (lconvert == NULL)
+       lconvert = localeconv();
 
    /* frac_digits in the C locale seems to return CHAR_MAX */
    /* best guess is 2 in this case I think */
-   fpoint = ((lconv->frac_digits != CHAR_MAX) ? lconv->frac_digits : 2);       /* int_frac_digits? */
+   fpoint = ((lconvert->frac_digits != CHAR_MAX) ? lconvert->frac_digits : 2);     /* int_frac_digits? */
 
-   dsymbol = *lconv->mon_decimal_point;
-   ssymbol = *lconv->mon_thousands_sep;
-   csymbol = *lconv->currency_symbol;
-   psymbol = *lconv->positive_sign;
-   nsymbol = *lconv->negative_sign;
+   dsymbol = *lconvert->mon_decimal_point;
+   ssymbol = *lconvert->mon_thousands_sep;
+   csymbol = *lconvert->currency_symbol;
+   psymbol = *lconvert->positive_sign;
+   nsymbol = *lconvert->negative_sign;
 #else
    fpoint = 2;
    dsymbol = '.';
@@ -183,18 +182,18 @@ cash_out(Cash *in_value)
    char        convention;
 
 #ifdef USE_LOCALE
-   if (lconv == NULL)
-       lconv = localeconv();
-
-   mon_group = *lconv->mon_grouping;
-   comma = *lconv->mon_thousands_sep;
-   csymbol = *lconv->currency_symbol;
-   dsymbol = *lconv->mon_decimal_point;
-   nsymbol = lconv->negative_sign;
+   if (lconvert == NULL)
+       lconvert = localeconv();
+
+   mon_group = *lconvert->mon_grouping;
+   comma = *lconvert->mon_thousands_sep;
+   csymbol = *lconvert->currency_symbol;
+   dsymbol = *lconvert->mon_decimal_point;
+   nsymbol = lconvert->negative_sign;
    /* frac_digits in the C locale seems to return CHAR_MAX */
    /* best guess is 2 in this case I think */
-   points = ((lconv->frac_digits != CHAR_MAX) ? lconv->frac_digits : 2);       /* int_frac_digits? */
-   convention = lconv->n_sign_posn;
+   points = ((lconvert->frac_digits != CHAR_MAX) ? lconvert->frac_digits : 2);     /* int_frac_digits? */
+   convention = lconvert->n_sign_posn;
 #else
    mon_group = 3;
    comma = ',';