pgsql: Remove typedef celt from the regex library, along with macro NOC

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Remove typedef celt from the regex library, along with macro NOC
Дата
Msg-id E1ban0g-0007ga-Vj@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Remove typedef celt from the regex library, along with macro NOCELT.

The regex library used to have a notion of a "collating element" that was
distinct from a "character", but Henry Spencer never actually implemented
his planned support for multi-character collating elements, and the Tcl
crew ripped out most of the stubs for that years ago.  The only thing left
that distinguished the "celt" typedef from the "chr" typedef was that
"celt" was supposed to also be able to hold the not-a-character "NOCELT"
value.  However, NOCELT was not used anywhere after the MCCE stub removal
changes, which means there's no need for celt to be different from chr.
Removing the separate typedef simplifies matters and also removes a trap
for the unwary, in that celt is signed while chr may not be, so comparisons
could mean different things.  There's no bug there today because we
restrict CHR_MAX to be less than INT_MAX, but I think there may have been
such bugs before we did that, and there could be again if anyone ever
decides to fool with the range of chr.

This patch also removes assorted unnecessary casts to "chr" of values
that are already chrs.  Many of these seem to be leftover from days when
the code was compatible with pre-ANSI C.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/6eefd2422ef232aec2fe12465d9ec4018c63814d

Modified Files
--------------
src/backend/regex/regc_cvec.c   |  6 +++---
src/backend/regex/regc_lex.c    | 12 +++++-------
src/backend/regex/regc_locale.c | 37 ++++++++++++++++++-------------------
src/backend/regex/regcomp.c     | 12 ++++++------
src/include/regex/regcustom.h   |  4 +---
5 files changed, 33 insertions(+), 38 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Erik Rijkers
Дата:
Сообщение: Re: pgsql: doc: requirepeer is a way to avoid spoofing
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Clean up another pre-ANSI-C-ism in regex code: get rid of pcolor