]> granicus.if.org Git - postgresql/commitdiff
Fix unportable isdigit() call --- must cast arg to unsigned char.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 20 Nov 2004 02:09:47 +0000 (02:09 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 20 Nov 2004 02:09:47 +0000 (02:09 +0000)
src/backend/utils/adt/formatting.c

index f9e5c026a77cf4f5aac3986b1093e52ab6e38090..b345fe45e154a2e1ccbca30aff80e7f0826fb231 100644 (file)
@@ -1,7 +1,7 @@
 /* -----------------------------------------------------------------------
  * formatting.c
  *
- * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.81 2004/11/01 14:33:10 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.82 2004/11/20 02:09:47 tgl Exp $
  *
  *
  *      Portions Copyright (c) 1999-2004, PostgreSQL Global Development Group
@@ -3786,14 +3786,14 @@ NUM_numpart_from_char(NUMProc *Np, int id, int plen)
        if (*Np->number == ' ' && Np->read_pre + Np->read_post > 0)
        {
                /*
-                * locale sign (NUM_S) is always anchored behind a last number, if:
+                * locale sign (NUM_S) is always anchored behind a last number, if:
                 *      - locale sign expected
                 *      - last read char was NUM_0/9 or NUM_DEC
                 *      - and next char is not digit
-                */              
+                */              
                if (IS_LSIGN(Np->Num) && isread && 
-                               (Np->inout_p+1) <= Np->inout + plen &&
-                               isdigit(*(Np->inout_p+1))==0)
+                       (Np->inout_p+1) <= Np->inout + plen &&
+                       !isdigit((unsigned char) *(Np->inout_p+1)))
                {
                        int x;
                        char *tmp = Np->inout_p++;