I have added your new files to CVS and made a new patch for win1252
rather than using the ones you supplied, and it now works.  I also added
regression tests.  The patch is attached.  I installed your new files
too, with a slight renaming of function names for consistency.

There are a few other cleanups in the patch as well.

Anyway, with these changes, initdb and the regression tests now pass.

Thanks for working on this.

---------------------------------------------------------------------------

Roland Volkmann wrote:
> Hello Bruce,
> 
> the decision to kick out the win1252-support from version 8.0 was 
> absolutely correct: my patches were buggy!
> 
> Meanwhile I have the build environment for native win32 code, and I 
> could test the submitted patches. They don't work, so please delete what 
> I had sent to you privately on 05.12.04
> 
> I corrected the sources, and now I can build the win32 port of 
> PostgreSQL with WIN1252-support. But there is still a big problem where 
> I have no more ideas after having spent 3 days now without success.
> 
> initdb throws the following error regardless the selected charset:
> 
> > FATAL:  default conversion for WIN1250 to UNICODE already exists
> > child process was terminated by signal 1
> > initdb: removing data directory "D:/Programme/PostgreSQL/8.0.0-rc1/data"
> 
> When using grep to check all areas for "win1250" I cannot find a 
> duplicate declaration. Building the win32 port without the patches 
> doesn't show this issue.
> 
> Here is the overview of the modifications I use, current base is 
> snapshot from 16.12.04:
> 
> 
>   Directory of  \doc\src\sgml\*
> 
> 17.12.2004   2:12          29.040  charset.sgml           (changed file)
> 17.12.2004   2:18         309.928  func.sgml              (changed file)
> ----------------------------------------------------------------------------
> 
>  Directory of  \src\backend\utils\mb\*
> 
> 14.12.2004   0:36           9.417  encnames.c             (changed file)
> 14.12.2004   0:38          15.714  wchar.c                (changed file)
> ----------------------------------------------------------------------------
> 
>  Directory of  \src\backend\utils\mb\conversion_procs\*
> 
> 16.12.2004   3:37          10.793  Makefile               (changed file)
> ----------------------------------------------------------------------------
> 
>  Directory of  \src\backend\utils\mb\conversion_procs\utf8_and_win1252\*
> 
>  5.12.2004   3:28             475  Makefile               (new file)
>  5.12.2004   3:28           1.897  utf8_and_win1252.c     (new file)
> ----------------------------------------------------------------------------
> 
>  Directory of  \src\backend\utils\mb\Unicode\*
> 
>  5.12.2004   3:28           2.563  utf8_to_win1252.map    (new file)
>  8.12.2004   5:34           2.643  win1252_to_utf8.map    (new file)
> ----------------------------------------------------------------------------
> 
>  Directory of  \src\bin\initdb\*
> 
> 17.12.2004   1:27          61.231  initdb.c               (changed file)
> ----------------------------------------------------------------------------
> 
>  Directory of  \src\Include\mb\*
> 
> 14.12.2004   0:42          11.854  pg_wchar.h             (changed file)
> ----------------------------------------------------------------------------
> 
> 
> There are 3 ZIP files attached to this mail:
> - new_files.zip
> - changed_files.zip
> - patches.zip  (for changed files only)
> 
> If you would have some spare time, perhaps you can give me a hint where 
> to look for the (hopefully) last bug.
> 
> 
> With best regards,
> 
> Roland.
> 

[ application/x-zip-compressed is not supported, skipping... ]

[ application/x-zip-compressed is not supported, skipping... ]

[ application/x-zip-compressed is not supported, skipping... ]

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: doc/src/sgml/charset.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v
retrieving revision 2.67
diff -c -c -r2.67 charset.sgml
*** doc/src/sgml/charset.sgml   14 Mar 2005 03:59:22 -0000      2.67
--- doc/src/sgml/charset.sgml   14 Mar 2005 18:10:19 -0000
***************
*** 537,542 ****
--- 537,549 ----
          <row>
           <entry><literal>WIN1251</literal></entry>
           <entry>Windows CP1251</entry>
+          <entry>Western European</entry>
+          <entry>1</entry>
+          <entry></entry>
+         </row>
+         <row>
+          <entry><literal>WIN1252</literal></entry>
+          <entry>Windows CP1252</entry>
           <entry>Cyrillic</entry>
           <entry>1</entry>
           <entry><literal>WIN</></entry>
***************
*** 676,682 ****
         <tbody>
          <row>
           <entry><literal>BIG5</literal></entry>
!          <entry><emphasis>not available as a server encoding</emphasis>
           </entry>
          </row>
          <row>
--- 683,689 ----
         <tbody>
          <row>
           <entry><literal>BIG5</literal></entry>
!          <entry><emphasis>not supported as a server encoding</emphasis>
           </entry>
          </row>
          <row>
***************
*** 711,722 ****
          </row>
          <row>
           <entry><literal>GB18030</literal></entry>
!          <entry><emphasis>not available as a server encoding</emphasis>
           </entry>
          </row>
          <row>
           <entry><literal>GBK</literal></entry>
!          <entry><emphasis>not available as a server encoding</emphasis>
           </entry>
          </row>
          <row>
--- 718,729 ----
          </row>
          <row>
           <entry><literal>GB18030</literal></entry>
!          <entry><emphasis>not supported as a server encoding</emphasis>
           </entry>
          </row>
          <row>
           <entry><literal>GBK</literal></entry>
!          <entry><emphasis>not supported as a server encoding</emphasis>
           </entry>
          </row>
          <row>
***************
*** 847,853 ****
          </row>
          <row> 
           <entry><literal>SJIS</literal></entry>
!          <entry><emphasis>not available as a server encoding</emphasis>
           </entry>
          </row>
          <row>
--- 854,860 ----
          </row>
          <row> 
           <entry><literal>SJIS</literal></entry>
!          <entry><emphasis>not supported as a server encoding</emphasis>
           </entry>
          </row>
          <row>
***************
*** 859,865 ****
          </row>
          <row>
           <entry><literal>UHC</literal></entry>
!          <entry><emphasis>not available as a server encoding</emphasis>
           </entry>
          </row>
          <row>
--- 866,872 ----
          </row>
          <row>
           <entry><literal>UHC</literal></entry>
!          <entry><emphasis>not supported as a server encoding</emphasis>
           </entry>
          </row>
          <row>
***************
*** 902,907 ****
--- 909,920 ----
           </entry>
          </row>
          <row>
+          <entry><literal>WIN1252</literal></entry>
+          <entry><emphasis>WIN1252</emphasis>,
+           <literal>UTF8</literal>
+          </entry>
+         </row>
+         <row>
           <entry><literal>WIN1256</literal></entry>
           <entry><emphasis>WIN1256</emphasis>,
           <literal>UTF8</literal>
Index: doc/src/sgml/func.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/func.sgml,v
retrieving revision 1.240
diff -c -c -r1.240 func.sgml
*** doc/src/sgml/func.sgml      7 Mar 2005 04:30:49 -0000       1.240
--- doc/src/sgml/func.sgml      14 Mar 2005 18:10:25 -0000
***************
*** 1991,1996 ****
--- 1991,2002 ----
        </row>
  
        <row>
+        <entry><literal>utf8_to_windows_1252</literal></entry>
+        <entry><literal>UTF8</literal></entry>
+        <entry><literal>WIN1252</literal></entry>
+       </row>
+ 
+       <row>
         <entry><literal>utf8_to_windows_1256</literal></entry>
         <entry><literal>UTF8</literal></entry>
         <entry><literal>WIN1256</literal></entry>
***************
*** 2057,2062 ****
--- 2063,2074 ----
        </row>
  
        <row>
+        <entry><literal>windows_1252_to_utf8</literal></entry>
+        <entry><literal>WIN1252</literal></entry>
+        <entry><literal>UTF8</literal></entry>
+       </row>
+ 
+       <row>
         <entry><literal>windows_1256_to_utf8</literal></entry>
         <entry><literal>WIN1256</literal></entry>
         <entry><literal>UTF8</literal></entry>
Index: src/backend/utils/mb/encnames.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/utils/mb/encnames.c,v
retrieving revision 1.24
diff -c -c -r1.24 encnames.c
*** src/backend/utils/mb/encnames.c     13 Mar 2005 01:26:30 -0000      1.24
--- src/backend/utils/mb/encnames.c     14 Mar 2005 18:10:27 -0000
***************
*** 194,199 ****
--- 194,202 ----
                "win1251", PG_WIN1251
        },                                                      /* alias for 
Windows-1251 */
        {
+               "win1252", PG_WIN1252
+       },                                                      /* alias for 
Windows-1252 */
+       {
                "win1256", PG_WIN1256
        },                                                      /* alias for 
Windows-1256 */
        {
***************
*** 224,229 ****
--- 227,235 ----
                "windows1251", PG_WIN1251
        },                                                      /* 
Windows-1251; Microsoft */
        {
+               "windows1252", PG_WIN1252
+       },                                                      /* 
Windows-1252; Microsoft */
+       {
                "windows1256", PG_WIN1256
        },                                                      /* 
Windows-1256; Microsoft */
        {
***************
*** 335,340 ****
--- 341,349 ----
                "WIN1251", PG_WIN1251
        },
        {
+               "WIN1252", PG_WIN1252
+       },
+       {
                "ISO_8859_5", PG_ISO_8859_5
        },
        {
Index: src/backend/utils/mb/wchar.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/utils/mb/wchar.c,v
retrieving revision 1.42
diff -c -c -r1.42 wchar.c
*** src/backend/utils/mb/wchar.c        14 Mar 2005 00:19:13 -0000      1.42
--- src/backend/utils/mb/wchar.c        14 Mar 2005 18:10:27 -0000
***************
*** 738,743 ****
--- 738,744 ----
        {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, 1},       
/* 20; PG_WIN874 */
        {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, 1},       
/* 21; PG_KOI8 */
        {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, 1},       
/* 22; PG_WIN1251 */
+       {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, 1},       
/* 22; PG_WIN1252 */
        {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, 1},       
/* 23; PG_WIN866 */
        {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, 1},       
/* 24; ISO-8859-5 */
        {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, 1},       
/* 25; ISO-8859-6 */
Index: src/backend/utils/mb/conversion_procs/Makefile
===================================================================
RCS file: /cvsroot/pgsql/src/backend/utils/mb/conversion_procs/Makefile,v
retrieving revision 1.12
diff -c -c -r1.12 Makefile
*** src/backend/utils/mb/conversion_procs/Makefile      7 Mar 2005 04:30:52 
-0000       1.12
--- src/backend/utils/mb/conversion_procs/Makefile      14 Mar 2005 18:10:31 
-0000
***************
*** 24,30 ****
        utf8_and_euc_jp utf8_and_euc_kr utf8_and_euc_tw utf8_and_gb18030 \
        utf8_and_gbk utf8_and_iso8859 utf8_and_iso8859_1 utf8_and_johab \
        utf8_and_sjis utf8_and_win1258 utf8_and_uhc utf8_and_win1250 \
!       utf8_and_win1256 utf8_and_win874
  
  # conversion_name source_encoding destination_encoding function object
  CONVERSIONS = \
--- 24,30 ----
        utf8_and_euc_jp utf8_and_euc_kr utf8_and_euc_tw utf8_and_gb18030 \
        utf8_and_gbk utf8_and_iso8859 utf8_and_iso8859_1 utf8_and_johab \
        utf8_and_sjis utf8_and_win1258 utf8_and_uhc utf8_and_win1250 \
!       utf8_and_win1252 utf8_and_win1256 utf8_and_win874
  
  # conversion_name source_encoding destination_encoding function object
  CONVERSIONS = \
***************
*** 86,91 ****
--- 86,93 ----
                koi8_r_to_utf8  KOI8R UTF8 koi8r_to_utf8 utf8_and_cyrillic \
                utf8_to_windows_1251    UTF8 WIN1251 utf8_to_win1251 
utf8_and_cyrillic \
                windows_1251_to_utf8    WIN1251 UTF8 win1251_to_utf8 
utf8_and_cyrillic \
+               utf8_to_windows_1252    UTF8 WIN1252 utf8_to_win1252 
utf8_and_win1252 \
+               windows_1252_to_utf8    WIN1252 UTF8 win1252_to_utf8 
utf8_and_win1252 \
                utf8_to_windows_866     UTF8 WIN866 utf8_to_win866 
utf8_and_cyrillic \
                windows_866_to_utf8     WIN866 UTF8 win866_to_utf8 
utf8_and_cyrillic \
                euc_cn_to_utf8 EUC_CN UTF8 euc_cn_to_utf8 utf8_and_euc_cn \
***************
*** 136,147 ****
                utf8_to_win1258 UTF8 WIN1258 utf8_to_win1258 utf8_and_win1258 \
                uhc_to_utf8 UHC UTF8 uhc_to_utf8 utf8_and_uhc \
                utf8_to_uhc UTF8 UHC utf8_to_uhc utf8_and_uhc \
!               utf8_to_windows_1250  UTF8 WIN1250 utf_to_win1250 
utf8_and_win1250 \
!               windows_1250_to_utf8  WIN1250 UTF8 win1250_to_utf 
utf8_and_win1250 \
!               utf8_to_windows_1256  UTF8 WIN1256 utf_to_win1256 
utf8_and_win1256 \
!               windows_1256_to_utf8  WIN1256 UTF8 win1256_to_utf 
utf8_and_win1256 \
!               utf8_to_windows_874  UTF8 WIN874 utf_to_win874 utf8_and_win874 \
!               windows_874_to_utf8  WIN874 UTF8 win874_to_utf utf8_and_win874
  
  all: $(SQLSCRIPT)
        @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
--- 138,149 ----
                utf8_to_win1258 UTF8 WIN1258 utf8_to_win1258 utf8_and_win1258 \
                uhc_to_utf8 UHC UTF8 uhc_to_utf8 utf8_and_uhc \
                utf8_to_uhc UTF8 UHC utf8_to_uhc utf8_and_uhc \
!               utf8_to_windows_1250  UTF8 WIN1250 utf8_to_win1250 
utf8_and_win1250 \
!               windows_1250_to_utf8  WIN1250 UTF8 win1250_to_utf8 
utf8_and_win1250 \
!               utf8_to_windows_1256  UTF8 WIN1256 utf8_to_win1256 
utf8_and_win1256 \
!               windows_1256_to_utf8  WIN1256 UTF8 win1256_to_utf8 
utf8_and_win1256 \
!               utf8_to_windows_874  UTF8 WIN874 utf8_to_win874 utf8_and_win874 
\
!               windows_874_to_utf8  WIN874 UTF8 win874_to_utf8 utf8_and_win874
  
  all: $(SQLSCRIPT)
        @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
Index: src/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c
===================================================================
RCS file: 
/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c,v
retrieving revision 1.12
diff -c -c -r1.12 utf8_and_iso8859.c
*** src/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c   
7 Mar 2005 04:30:54 -0000       1.12
--- src/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c   
14 Mar 2005 18:10:31 -0000
***************
*** 108,114 ****
        {PG_WIN1258},                           /* Windows-1258 */
        {PG_WIN874},                            /* windows-874 */
        {PG_KOI8R},                                     /* KOI8-R */
!       {PG_WIN1251},                           /* windows-1251 (was: WIN) */
        {PG_WIN866},                            /* (MS-DOS CP866) */
        {PG_ISO_8859_5, LUmapISO8859_5, ULmapISO8859_5,
                sizeof(LUmapISO8859_5) / sizeof(pg_local_to_utf),
--- 108,114 ----
        {PG_WIN1258},                           /* Windows-1258 */
        {PG_WIN874},                            /* windows-874 */
        {PG_KOI8R},                                     /* KOI8-R */
!       {PG_WIN1251},                           /* windows-1251 */
        {PG_WIN866},                            /* (MS-DOS CP866) */
        {PG_ISO_8859_5, LUmapISO8859_5, ULmapISO8859_5,
                sizeof(LUmapISO8859_5) / sizeof(pg_local_to_utf),
Index: src/backend/utils/mb/conversion_procs/utf8_and_win1250/utf8_and_win1250.c
===================================================================
RCS file: 
/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_win1250/utf8_and_win1250.c,v
retrieving revision 1.10
diff -c -c -r1.10 utf8_and_win1250.c
*** src/backend/utils/mb/conversion_procs/utf8_and_win1250/utf8_and_win1250.c   
7 Mar 2005 04:30:54 -0000       1.10
--- src/backend/utils/mb/conversion_procs/utf8_and_win1250/utf8_and_win1250.c   
14 Mar 2005 18:10:32 -0000
***************
*** 17,27 ****
  #include "../../Unicode/utf8_to_win1250.map"
  #include "../../Unicode/win1250_to_utf8.map"
  
! PG_FUNCTION_INFO_V1(utf_to_win1250);
! PG_FUNCTION_INFO_V1(win1250_to_utf);
  
! extern Datum utf_to_win1250(PG_FUNCTION_ARGS);
! extern Datum win1250_to_utf(PG_FUNCTION_ARGS);
  
  /* ----------
   * conv_proc(
--- 17,27 ----
  #include "../../Unicode/utf8_to_win1250.map"
  #include "../../Unicode/win1250_to_utf8.map"
  
! PG_FUNCTION_INFO_V1(utf8_to_win1250);
! PG_FUNCTION_INFO_V1(win1250_to_utf8);
  
! extern Datum utf8_to_win1250(PG_FUNCTION_ARGS);
! extern Datum win1250_to_utf8(PG_FUNCTION_ARGS);
  
  /* ----------
   * conv_proc(
***************
*** 35,41 ****
   */
  
  Datum
! utf_to_win1250(PG_FUNCTION_ARGS)
  {
        unsigned char *src = PG_GETARG_CSTRING(2);
        unsigned char *dest = PG_GETARG_CSTRING(3);
--- 35,41 ----
   */
  
  Datum
! utf8_to_win1250(PG_FUNCTION_ARGS)
  {
        unsigned char *src = PG_GETARG_CSTRING(2);
        unsigned char *dest = PG_GETARG_CSTRING(3);
***************
*** 52,58 ****
  }
  
  Datum
! win1250_to_utf(PG_FUNCTION_ARGS)
  {
        unsigned char *src = PG_GETARG_CSTRING(2);
        unsigned char *dest = PG_GETARG_CSTRING(3);
--- 52,58 ----
  }
  
  Datum
! win1250_to_utf8(PG_FUNCTION_ARGS)
  {
        unsigned char *src = PG_GETARG_CSTRING(2);
        unsigned char *dest = PG_GETARG_CSTRING(3);
Index: src/backend/utils/mb/conversion_procs/utf8_and_win1256/utf8_and_win1256.c
===================================================================
RCS file: 
/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_win1256/utf8_and_win1256.c,v
retrieving revision 1.10
diff -c -c -r1.10 utf8_and_win1256.c
*** src/backend/utils/mb/conversion_procs/utf8_and_win1256/utf8_and_win1256.c   
7 Mar 2005 04:30:54 -0000       1.10
--- src/backend/utils/mb/conversion_procs/utf8_and_win1256/utf8_and_win1256.c   
14 Mar 2005 18:10:32 -0000
***************
*** 17,27 ****
  #include "../../Unicode/utf8_to_win1256.map"
  #include "../../Unicode/win1256_to_utf8.map"
  
! PG_FUNCTION_INFO_V1(utf_to_win1256);
! PG_FUNCTION_INFO_V1(win1256_to_utf);
  
! extern Datum utf_to_win1256(PG_FUNCTION_ARGS);
! extern Datum win1256_to_utf(PG_FUNCTION_ARGS);
  
  /* ----------
   * conv_proc(
--- 17,27 ----
  #include "../../Unicode/utf8_to_win1256.map"
  #include "../../Unicode/win1256_to_utf8.map"
  
! PG_FUNCTION_INFO_V1(utf8_to_win1256);
! PG_FUNCTION_INFO_V1(win1256_to_utf8);
  
! extern Datum utf8_to_win1256(PG_FUNCTION_ARGS);
! extern Datum win1256_to_utf8(PG_FUNCTION_ARGS);
  
  /* ----------
   * conv_proc(
***************
*** 35,41 ****
   */
  
  Datum
! utf_to_win1256(PG_FUNCTION_ARGS)
  {
        unsigned char *src = PG_GETARG_CSTRING(2);
        unsigned char *dest = PG_GETARG_CSTRING(3);
--- 35,41 ----
   */
  
  Datum
! utf8_to_win1256(PG_FUNCTION_ARGS)
  {
        unsigned char *src = PG_GETARG_CSTRING(2);
        unsigned char *dest = PG_GETARG_CSTRING(3);
***************
*** 52,58 ****
  }
  
  Datum
! win1256_to_utf(PG_FUNCTION_ARGS)
  {
        unsigned char *src = PG_GETARG_CSTRING(2);
        unsigned char *dest = PG_GETARG_CSTRING(3);
--- 52,58 ----
  }
  
  Datum
! win1256_to_utf8(PG_FUNCTION_ARGS)
  {
        unsigned char *src = PG_GETARG_CSTRING(2);
        unsigned char *dest = PG_GETARG_CSTRING(3);
Index: src/backend/utils/mb/conversion_procs/utf8_and_win874/utf8_and_win874.c
===================================================================
RCS file: 
/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_win874/utf8_and_win874.c,v
retrieving revision 1.10
diff -c -c -r1.10 utf8_and_win874.c
*** src/backend/utils/mb/conversion_procs/utf8_and_win874/utf8_and_win874.c     
7 Mar 2005 04:30:55 -0000       1.10
--- src/backend/utils/mb/conversion_procs/utf8_and_win874/utf8_and_win874.c     
14 Mar 2005 18:10:32 -0000
***************
*** 17,27 ****
  #include "../../Unicode/utf8_to_win874.map"
  #include "../../Unicode/win874_to_utf8.map"
  
! PG_FUNCTION_INFO_V1(utf_to_win874);
! PG_FUNCTION_INFO_V1(win874_to_utf);
  
! extern Datum utf_to_win874(PG_FUNCTION_ARGS);
! extern Datum win874_to_utf(PG_FUNCTION_ARGS);
  
  /* ----------
   * conv_proc(
--- 17,27 ----
  #include "../../Unicode/utf8_to_win874.map"
  #include "../../Unicode/win874_to_utf8.map"
  
! PG_FUNCTION_INFO_V1(utf8_to_win874);
! PG_FUNCTION_INFO_V1(win874_to_utf8);
  
! extern Datum utf8_to_win874(PG_FUNCTION_ARGS);
! extern Datum win874_to_utf8(PG_FUNCTION_ARGS);
  
  /* ----------
   * conv_proc(
***************
*** 35,41 ****
   */
  
  Datum
! utf_to_win874(PG_FUNCTION_ARGS)
  {
        unsigned char *src = PG_GETARG_CSTRING(2);
        unsigned char *dest = PG_GETARG_CSTRING(3);
--- 35,41 ----
   */
  
  Datum
! utf8_to_win874(PG_FUNCTION_ARGS)
  {
        unsigned char *src = PG_GETARG_CSTRING(2);
        unsigned char *dest = PG_GETARG_CSTRING(3);
***************
*** 52,58 ****
  }
  
  Datum
! win874_to_utf(PG_FUNCTION_ARGS)
  {
        unsigned char *src = PG_GETARG_CSTRING(2);
        unsigned char *dest = PG_GETARG_CSTRING(3);
--- 52,58 ----
  }
  
  Datum
! win874_to_utf8(PG_FUNCTION_ARGS)
  {
        unsigned char *src = PG_GETARG_CSTRING(2);
        unsigned char *dest = PG_GETARG_CSTRING(3);
Index: src/bin/initdb/initdb.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/initdb/initdb.c,v
retrieving revision 1.78
diff -c -c -r1.78 initdb.c
*** src/bin/initdb/initdb.c     11 Mar 2005 15:36:27 -0000      1.78
--- src/bin/initdb/initdb.c     14 Mar 2005 18:10:32 -0000
***************
*** 764,769 ****
--- 764,770 ----
        {PG_LATIN10, "ISO8859-16"},
        {PG_LATIN10, "iso885916"},
  
+       {PG_WIN1252, "CP1252"},
        {PG_WIN1256, "CP1256"},
        {PG_WIN1258, "CP1258"},
  #ifdef NOT_VERIFIED
Index: src/include/mb/pg_wchar.h
===================================================================
RCS file: /cvsroot/pgsql/src/include/mb/pg_wchar.h,v
retrieving revision 1.57
diff -c -c -r1.57 pg_wchar.h
*** src/include/mb/pg_wchar.h   7 Mar 2005 04:30:55 -0000       1.57
--- src/include/mb/pg_wchar.h   14 Mar 2005 18:10:33 -0000
***************
*** 172,178 ****
        PG_WIN866,                                      /* (MS-DOS CP866) */
        PG_WIN874,                                      /* windows-874 */
        PG_KOI8R,                                       /* KOI8-R */
!       PG_WIN1251,                                     /* windows-1251 (was: 
WIN) */
        PG_ISO_8859_5,                          /* ISO-8859-5 */
        PG_ISO_8859_6,                          /* ISO-8859-6 */
        PG_ISO_8859_7,                          /* ISO-8859-7 */
--- 172,179 ----
        PG_WIN866,                                      /* (MS-DOS CP866) */
        PG_WIN874,                                      /* windows-874 */
        PG_KOI8R,                                       /* KOI8-R */
!       PG_WIN1251,                                     /* windows-1251 */
!       PG_WIN1252,                                     /* windows-1252 */
        PG_ISO_8859_5,                          /* ISO-8859-5 */
        PG_ISO_8859_6,                          /* ISO-8859-6 */
        PG_ISO_8859_7,                          /* ISO-8859-7 */
Index: src/test/regress/expected/conversion.out
===================================================================
RCS file: /cvsroot/pgsql/src/test/regress/expected/conversion.out,v
retrieving revision 1.10
diff -c -c -r1.10 conversion.out
*** src/test/regress/expected/conversion.out    7 Mar 2005 04:30:55 -0000       
1.10
--- src/test/regress/expected/conversion.out    14 Mar 2005 18:10:35 -0000
***************
*** 784,789 ****
--- 784,815 ----
   foo
  (1 row)
  
+ -- UTF8 --> WIN1252
+ SELECT CONVERT('foo' USING utf8_to_windows_1252);
+  convert_using 
+ ---------------
+  foo
+ (1 row)
+ 
+ SELECT CONVERT('foo', 'UTF8', 'WIN1252');
+  convert 
+ ---------
+  foo
+ (1 row)
+ 
+ -- WIN1252 --> UTF8
+ SELECT CONVERT('foo' USING windows_1252_to_utf8);
+  convert_using 
+ ---------------
+  foo
+ (1 row)
+ 
+ SELECT CONVERT('foo', 'WIN1252', 'UTF8');
+  convert 
+ ---------
+  foo
+ (1 row)
+ 
  -- UTF8 --> WIN866
  SELECT CONVERT('foo' USING utf8_to_windows_866);
   convert_using 
Index: src/test/regress/sql/conversion.sql
===================================================================
RCS file: /cvsroot/pgsql/src/test/regress/sql/conversion.sql,v
retrieving revision 1.7
diff -c -c -r1.7 conversion.sql
*** src/test/regress/sql/conversion.sql 7 Mar 2005 04:30:55 -0000       1.7
--- src/test/regress/sql/conversion.sql 14 Mar 2005 18:10:35 -0000
***************
*** 201,206 ****
--- 201,212 ----
  -- WIN1251 --> UTF8
  SELECT CONVERT('foo' USING windows_1251_to_utf8);
  SELECT CONVERT('foo', 'WIN1251', 'UTF8');
+ -- UTF8 --> WIN1252
+ SELECT CONVERT('foo' USING utf8_to_windows_1252);
+ SELECT CONVERT('foo', 'UTF8', 'WIN1252');
+ -- WIN1252 --> UTF8
+ SELECT CONVERT('foo' USING windows_1252_to_utf8);
+ SELECT CONVERT('foo', 'WIN1252', 'UTF8');
  -- UTF8 --> WIN866
  SELECT CONVERT('foo' USING utf8_to_windows_866);
  SELECT CONVERT('foo', 'UTF8', 'WIN866');
---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to