Обсуждение: pgsql: Fix bugs in plpgsql and ecpg caused by assuming that isspace()

Поиск
Список
Период
Сортировка

pgsql: Fix bugs in plpgsql and ecpg caused by assuming that isspace()

От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Fix bugs in plpgsql and ecpg caused by assuming that isspace() would only
return true for exactly the characters treated as whitespace by their flex
scanners.  Per report from Victor Snezhko and subsequent investigation.

Also fix a passel of unsafe usages of <ctype.h> functions, that is, ye olde
char-vs-unsigned-char issue.  I won't miss <ctype.h> when we are finally
able to stop using it.

Modified Files:
--------------
    pgsql/contrib/fuzzystrmatch:
        dmetaphone.c (r1.9 -> r1.10)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/fuzzystrmatch/dmetaphone.c.diff?r1=1.9&r2=1.10)
    pgsql/contrib/hstore:
        hstore_io.c (r1.3 -> r1.4)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/hstore/hstore_io.c.diff?r1=1.3&r2=1.4)
    pgsql/contrib/isn:
        isn.c (r1.2 -> r1.3)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/isn/isn.c.diff?r1=1.2&r2=1.3)
    pgsql/contrib/ltree:
        crc32.c (r1.6 -> r1.7)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/ltree/crc32.c.diff?r1=1.6&r2=1.7)
        ltree_io.c (r1.12 -> r1.13)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/ltree/ltree_io.c.diff?r1=1.12&r2=1.13)
        ltxtquery_io.c (r1.11 -> r1.12)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/ltree/ltxtquery_io.c.diff?r1=1.11&r2=1.12)
    pgsql/contrib/pgcrypto:
        imath.c (r1.4 -> r1.5)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/pgcrypto/imath.c.diff?r1=1.4&r2=1.5)
    pgsql/src/backend/parser:
        scan.l (r1.137 -> r1.138)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/scan.l.diff?r1=1.137&r2=1.138)
        scansup.c (r1.33 -> r1.34)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/scansup.c.diff?r1=1.33&r2=1.34)
    pgsql/src/backend/utils/misc:
        guc.c (r1.351 -> r1.352)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/guc.c.diff?r1=1.351&r2=1.352)
    pgsql/src/bin/pg_dump:
        pg_dump.c (r1.447 -> r1.448)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dump.c.diff?r1=1.447&r2=1.448)
    pgsql/src/bin/psql:
        tab-complete.c (r1.154 -> r1.155)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/psql/tab-complete.c.diff?r1=1.154&r2=1.155)
    pgsql/src/include/parser:
        scansup.h (r1.19 -> r1.20)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/parser/scansup.h.diff?r1=1.19&r2=1.20)
    pgsql/src/include:
        port.h (r1.98 -> r1.99)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/port.h.diff?r1=1.98&r2=1.99)
    pgsql/src/interfaces/ecpg/preproc:
        pgc.l (r1.149 -> r1.150)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/ecpg/preproc/pgc.l.diff?r1=1.149&r2=1.150)
    pgsql/src/interfaces/libpq:
        fe-auth.c (r1.119 -> r1.120)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/libpq/fe-auth.c.diff?r1=1.119&r2=1.120)
    pgsql/src/pl/plpgsql/src:
        pl_exec.c (r1.178 -> r1.179)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_exec.c.diff?r1=1.178&r2=1.179)
        pl_funcs.c (r1.54 -> r1.55)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_funcs.c.diff?r1=1.54&r2=1.55)
    pgsql/src/port:
        path.c (r1.67 -> r1.68)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/port/path.c.diff?r1=1.67&r2=1.68)