Fix usage of char2wchar/wchar2char. Changes:
authorTeodor Sigaev
Mon, 2 Mar 2009 15:10:09 +0000 (15:10 +0000)
committerTeodor Sigaev
Mon, 2 Mar 2009 15:10:09 +0000 (15:10 +0000)
commit32032d42b51bf673bdc17b2248a6a32b4de30676
tree58cbe8df3ae9f25fa8eab5274f9f38812998316f
parent876b37d50ab70cae8cde5337ec27cec649ef1677
Fix usage of char2wchar/wchar2char. Changes:
- pg_wchar and wchar_t could have different size, so char2wchar
  doesn't call pg_mb2wchar_with_len to prevent out-of-bound
  memory bug
- make char2wchar/wchar2char symmetric, now they should not be
  called with C-locale because mbstowcs/wcstombs oftenly doesn't
  work correct with C-locale.
- Text parser uses pg_mb2wchar_with_len directly in case of
  C-locale and multibyte encoding

Per bug report by Hiroshi Inoue  and
following discussion.

Backpatch up to 8.2 when multybyte support was implemented in tsearch.
src/backend/tsearch/wparser_def.c
src/backend/utils/mb/mbutils.c