From dc69c0362f291897273a67cb0ccf5d03d11026f2 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 17 Jun 2008 16:09:06 +0000 Subject: [PATCH] Move USE_WIDE_UPPER_LOWER define to c.h, and remove TS_USE_WIDE and use USE_WIDE_UPPER_LOWER instead. --- src/backend/tsearch/regis.c | 4 ++-- src/backend/tsearch/ts_locale.c | 10 +++++----- src/backend/tsearch/wparser_def.c | 14 +++++++------- src/backend/utils/adt/formatting.c | 5 ++--- src/backend/utils/adt/oracle_compat.c | 8 ++------ src/include/c.h | 10 +++++++++- src/include/tsearch/ts_locale.h | 12 ++++-------- 7 files changed, 31 insertions(+), 32 deletions(-) diff --git a/src/backend/tsearch/regis.c b/src/backend/tsearch/regis.c index 0fe0064fd1..f6befcea8a 100644 --- a/src/backend/tsearch/regis.c +++ b/src/backend/tsearch/regis.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/tsearch/regis.c,v 1.4 2008/01/21 02:46:10 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/tsearch/regis.c,v 1.5 2008/06/17 16:09:06 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -178,7 +178,7 @@ RS_free(Regis *r) r->node = NULL; } -#ifdef TS_USE_WIDE +#ifdef USE_WIDE_UPPER_LOWER static bool mb_strchr(char *str, char *c) { diff --git a/src/backend/tsearch/ts_locale.c b/src/backend/tsearch/ts_locale.c index dacf7325c6..c10a0862d3 100644 --- a/src/backend/tsearch/ts_locale.c +++ b/src/backend/tsearch/ts_locale.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/tsearch/ts_locale.c,v 1.7 2008/01/01 19:45:52 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/tsearch/ts_locale.c,v 1.8 2008/06/17 16:09:06 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -17,7 +17,7 @@ #include "tsearch/ts_public.h" -#ifdef TS_USE_WIDE +#ifdef USE_WIDE_UPPER_LOWER /* * wchar2char --- convert wide characters to multibyte format @@ -190,7 +190,7 @@ t_isprint(const char *ptr) return iswprint((wint_t) character[0]); } -#endif /* TS_USE_WIDE */ +#endif /* USE_WIDE_UPPER_LOWER */ /* @@ -260,7 +260,7 @@ lowerstr_with_len(const char *str, int len) if (len == 0) return pstrdup(""); -#ifdef TS_USE_WIDE +#ifdef USE_WIDE_UPPER_LOWER /* * Use wide char code only when max encoding length > 1 and ctype != C. @@ -307,7 +307,7 @@ lowerstr_with_len(const char *str, int len) Assert(wlen < len); } else -#endif /* TS_USE_WIDE */ +#endif /* USE_WIDE_UPPER_LOWER */ { const char *ptr = str; char *outptr; diff --git a/src/backend/tsearch/wparser_def.c b/src/backend/tsearch/wparser_def.c index 2e72099c30..53180705bd 100644 --- a/src/backend/tsearch/wparser_def.c +++ b/src/backend/tsearch/wparser_def.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/tsearch/wparser_def.c,v 1.14 2008/01/01 19:45:52 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/tsearch/wparser_def.c,v 1.15 2008/06/17 16:09:06 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -238,7 +238,7 @@ typedef struct TParser /* string and position information */ char *str; /* multibyte string */ int lenstr; /* length of mbstring */ -#ifdef TS_USE_WIDE +#ifdef USE_WIDE_UPPER_LOWER wchar_t *wstr; /* wide character string */ int lenwstr; /* length of wsting */ #endif @@ -291,7 +291,7 @@ TParserInit(char *str, int len) prs->str = str; prs->lenstr = len; -#ifdef TS_USE_WIDE +#ifdef USE_WIDE_UPPER_LOWER /* * Use wide char code only when max encoding length > 1. @@ -328,7 +328,7 @@ TParserClose(TParser *prs) prs->state = ptr; } -#ifdef TS_USE_WIDE +#ifdef USE_WIDE_UPPER_LOWER if (prs->wstr) pfree(prs->wstr); #endif @@ -344,7 +344,7 @@ TParserClose(TParser *prs) * often are used for Asian languages */ -#ifdef TS_USE_WIDE +#ifdef USE_WIDE_UPPER_LOWER #define p_iswhat(type) \ static int \ @@ -439,7 +439,7 @@ p_iseq(TParser *prs, char c) Assert(prs->state); return ((prs->state->charlen == 1 && *(prs->str + prs->state->posbyte) == c)) ? 1 : 0; } -#else /* TS_USE_WIDE */ +#else /* USE_WIDE_UPPER_LOWER */ #define p_iswhat(type) \ static int \ @@ -463,7 +463,7 @@ p_iseq(TParser *prs, char c) p_iswhat(alnum) p_iswhat(alpha) -#endif /* TS_USE_WIDE */ +#endif /* USE_WIDE_UPPER_LOWER */ p_iswhat(digit) p_iswhat(lower) diff --git a/src/backend/utils/adt/formatting.c b/src/backend/utils/adt/formatting.c index 37b0844ab1..4e6ad070e7 100644 --- a/src/backend/utils/adt/formatting.c +++ b/src/backend/utils/adt/formatting.c @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------- * formatting.c * - * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.141 2008/05/20 01:41:02 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.142 2008/06/17 16:09:06 momjian Exp $ * * * Portions Copyright (c) 1999-2008, PostgreSQL Global Development Group @@ -948,8 +948,7 @@ static NUMCacheEntry *NUM_cache_search(char *str); static NUMCacheEntry *NUM_cache_getnew(char *str); static void NUM_cache_remove(NUMCacheEntry *ent); -#if defined(HAVE_WCSTOMBS) && defined(HAVE_TOWLOWER) -#define USE_WIDE_UPPER_LOWER +#ifdef USE_WIDE_UPPER_LOWER /* externs are in oracle_compat.c */ extern char *wstring_upper(char *str); extern char *wstring_lower(char *str); diff --git a/src/backend/utils/adt/oracle_compat.c b/src/backend/utils/adt/oracle_compat.c index 532015bc00..372ff83956 100644 --- a/src/backend/utils/adt/oracle_compat.c +++ b/src/backend/utils/adt/oracle_compat.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/oracle_compat.c,v 1.79 2008/05/19 18:08:16 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/oracle_compat.c,v 1.80 2008/06/17 16:09:06 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -40,12 +40,8 @@ * functions, which of course will not work as desired in multibyte character * sets. Note that in either case we are effectively assuming that the * database character encoding matches the encoding implied by LC_CTYPE. - * - * We assume if we have these two functions, we have their friends too, and - * can use the wide-character method. */ -#if defined(HAVE_WCSTOMBS) && defined(HAVE_TOWLOWER) -#define USE_WIDE_UPPER_LOWER +#ifdef USE_WIDE_UPPER_LOWER char *wstring_lower(char *str); char *wstring_upper(char *str); wchar_t *texttowcs(const text *txt); diff --git a/src/include/c.h b/src/include/c.h index 86b0d9f999..16ccb4cf4e 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -12,7 +12,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/c.h,v 1.226 2008/04/21 00:26:46 tgl Exp $ + * $PostgreSQL: pgsql/src/include/c.h,v 1.227 2008/06/17 16:09:06 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -813,6 +813,14 @@ extern int fdatasync(int fildes); #define HAVE_STRTOULL 1 #endif +/* + * We assume if we have these two functions, we have their friends too, and + * can use the wide-character functions. + */ +#if defined(HAVE_WCSTOMBS) && defined(HAVE_TOWLOWER) +#define USE_WIDE_UPPER_LOWER +#endif + /* EXEC_BACKEND defines */ #ifdef EXEC_BACKEND #define NON_EXEC_STATIC diff --git a/src/include/tsearch/ts_locale.h b/src/include/tsearch/ts_locale.h index 383acbc1bb..adeeebac18 100644 --- a/src/include/tsearch/ts_locale.h +++ b/src/include/tsearch/ts_locale.h @@ -5,7 +5,7 @@ * * Copyright (c) 1998-2008, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/include/tsearch/ts_locale.h,v 1.5 2008/01/01 19:45:59 momjian Exp $ + * $PostgreSQL: pgsql/src/include/tsearch/ts_locale.h,v 1.6 2008/06/17 16:09:06 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -29,13 +29,9 @@ #include #endif -#if defined(HAVE_WCSTOMBS) && defined(HAVE_TOWLOWER) -#define TS_USE_WIDE -#endif - #define TOUCHAR(x) (*((const unsigned char *) (x))) -#ifdef TS_USE_WIDE +#ifdef USE_WIDE_UPPER_LOWER extern size_t wchar2char(char *to, const wchar_t *from, size_t tolen); extern size_t char2wchar(wchar_t *to, size_t tolen, const char *from, size_t fromlen); @@ -49,7 +45,7 @@ extern int t_isprint(const char *ptr); #define t_iseq(x,c) (TOUCHAR(x) == (unsigned char) (c)) #define COPYCHAR(d,s) memcpy(d, s, pg_mblen(s)) -#else /* not TS_USE_WIDE */ +#else /* not USE_WIDE_UPPER_LOWER */ #define t_isdigit(x) isdigit(TOUCHAR(x)) #define t_isspace(x) isspace(TOUCHAR(x)) @@ -58,7 +54,7 @@ extern int t_isprint(const char *ptr); #define t_iseq(x,c) (TOUCHAR(x) == (unsigned char) (c)) #define COPYCHAR(d,s) (*((unsigned char *) (d)) = TOUCHAR(s)) -#endif /* TS_USE_WIDE */ +#endif /* USE_WIDE_UPPER_LOWER */ extern char *lowerstr(const char *str); extern char *lowerstr_with_len(const char *str, int len);