mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-15 08:20:16 +08:00
Here are the patches against the current source tree. I have run the
regression test on a FreeBSD box with both non-MULTIBYTE and MULTIBYTE-enabled, and confirmed that the results are same. However I do not tested on PCs(I don't have access to win). Please let me know if the patches break anything on PCs. Also please note that the patch for varchar.c is a fix for a nasty bug of char(n) types that I introduced and I believe at least this should be applied. Tatsuo Ishii
This commit is contained in:
parent
c77a29a14e
commit
e1ebac319d
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.41 1998/09/25 15:51:02 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.42 1998/10/06 03:02:20 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -163,7 +163,11 @@ bpchar(char *s, int32 len)
|
|||||||
#ifdef MULTIBYTE
|
#ifdef MULTIBYTE
|
||||||
/* truncate multi-byte string in a way not to break
|
/* truncate multi-byte string in a way not to break
|
||||||
multi-byte boundary */
|
multi-byte boundary */
|
||||||
slen = pg_mbcliplen(VARDATA(s), rlen, rlen);
|
if (VARSIZE(s) > len) {
|
||||||
|
slen = pg_mbcliplen(VARDATA(s), VARSIZE(s)-VARHDRSZ, rlen);
|
||||||
|
} else {
|
||||||
|
slen = VARSIZE(s) - VARHDRSZ;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
slen = VARSIZE(s) - VARHDRSZ;
|
slen = VARSIZE(s) - VARHDRSZ;
|
||||||
#endif
|
#endif
|
||||||
|
@ -2,9 +2,18 @@
|
|||||||
* This file contains some public functions
|
* This file contains some public functions
|
||||||
* usable for both the backend and the frontend.
|
* usable for both the backend and the frontend.
|
||||||
* Tatsuo Ishii
|
* Tatsuo Ishii
|
||||||
* $Id: common.c,v 1.2 1998/09/01 04:33:19 momjian Exp $ */
|
* $Id: common.c,v 1.3 1998/10/06 03:02:21 momjian Exp $ */
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
#include "win32.h"
|
||||||
|
#else
|
||||||
|
#if !defined(NO_UNISTD_H)
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "mb/pg_wchar.h"
|
#include "mb/pg_wchar.h"
|
||||||
|
@ -29,6 +29,14 @@ CLEAN :
|
|||||||
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D\
|
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D\
|
||||||
"_MBCS" /Fp"$(INTDIR)\psql.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c \
|
"_MBCS" /Fp"$(INTDIR)\psql.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c \
|
||||||
/I ..\..\include /I ..\..\interfaces\libpq
|
/I ..\..\include /I ..\..\interfaces\libpq
|
||||||
|
|
||||||
|
!IFDEF MULTIBYTE
|
||||||
|
!IFNDEF MBFLAGS
|
||||||
|
MBFLAGS="-DMULTIBYTE=$(MULTIBYTE)"
|
||||||
|
!ENDIF
|
||||||
|
CPP_PROJ=$(MBFLAGS) $(CPP_PROJ)
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
CPP_OBJS=.\Release/
|
CPP_OBJS=.\Release/
|
||||||
CPP_SBRS=.
|
CPP_SBRS=.
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
* didn't really belong there.
|
* didn't really belong there.
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-print.c,v 1.13 1998/10/04 20:46:39 tgl Exp $
|
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-print.c,v 1.14 1998/10/06 03:02:25 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -513,7 +513,17 @@ PQmblen(unsigned char *s)
|
|||||||
return (pg_encoding_mblen(encoding, s));
|
return (pg_encoding_mblen(encoding, s));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#else
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
int
|
||||||
|
PQmblen(unsigned char *s)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif /* WIN32 */
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* MULTIBYTE */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
do_field(PQprintOpt *po, PGresult *res,
|
do_field(PQprintOpt *po, PGresult *res,
|
||||||
|
@ -63,4 +63,5 @@ EXPORTS
|
|||||||
lo_unlink @ 60
|
lo_unlink @ 60
|
||||||
lo_import @ 61
|
lo_import @ 61
|
||||||
lo_export @ 62
|
lo_export @ 62
|
||||||
PQresultErrorMessage @ 63
|
pgresStatus @ 63
|
||||||
|
PQmblen @ 64
|
||||||
|
@ -33,7 +33,7 @@ CLEAN :
|
|||||||
-@erase "$(OUTDIR)\libpq.lib"
|
-@erase "$(OUTDIR)\libpq.lib"
|
||||||
-@erase "$(OUTDIR)\libpq.dll"
|
-@erase "$(OUTDIR)\libpq.dll"
|
||||||
-@erase "$(OUTDIR)\libpq.res"
|
-@erase "$(OUTDIR)\libpq.res"
|
||||||
-@erase "$(OUTDIR)\vc*.*"
|
-@erase "vc50.pch"
|
||||||
-@erase "$(OUTDIR)\libpq.pch"
|
-@erase "$(OUTDIR)\libpq.pch"
|
||||||
-@erase "$(OUTDIR)\libpqdll.exp"
|
-@erase "$(OUTDIR)\libpqdll.exp"
|
||||||
-@erase "$(OUTDIR)\libpqdll.lib"
|
-@erase "$(OUTDIR)\libpqdll.lib"
|
||||||
@ -44,6 +44,14 @@ CLEAN :
|
|||||||
CPP_PROJ=/nologo /ML /W3 /GX /O2 /I "..\..\include" /D "NDEBUG" /D\
|
CPP_PROJ=/nologo /ML /W3 /GX /O2 /I "..\..\include" /D "NDEBUG" /D\
|
||||||
"WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" /YX\
|
"WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" /YX\
|
||||||
/Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
/Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||||
|
|
||||||
|
!IFDEF MULTIBYTE
|
||||||
|
!IFNDEF MBFLAGS
|
||||||
|
MBFLAGS="-DMULTIBYTE=$(MULTIBYTE)"
|
||||||
|
!ENDIF
|
||||||
|
CPP_PROJ = $(CPP_PROJ) $(MBFLAGS)
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
CPP_OBJS=.\Release/
|
CPP_OBJS=.\Release/
|
||||||
CPP_SBRS=.
|
CPP_SBRS=.
|
||||||
|
|
||||||
@ -58,6 +66,10 @@ LIB32_OBJS= \
|
|||||||
"$(INTDIR)\fe-misc.obj" \
|
"$(INTDIR)\fe-misc.obj" \
|
||||||
"$(INTDIR)\fe-print.obj"
|
"$(INTDIR)\fe-print.obj"
|
||||||
|
|
||||||
|
!IFDEF MULTIBYTE
|
||||||
|
LIB32_OBJS = $(LIB32_OBJS) $(INTDIR)\common.obj $(INTDIR)\wchar.obj $(INTDIR)\conv.obj
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res"
|
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res"
|
||||||
|
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
|
@ -10,10 +10,14 @@ NULL=
|
|||||||
NULL=nul
|
NULL=nul
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
|
!IFDEF MULTIBYTE
|
||||||
|
MAKEMACRO = "MULTIBYTE=$(MULTIBYTE)"
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
ALL:
|
ALL:
|
||||||
cd interfaces\libpq
|
cd interfaces\libpq
|
||||||
nmake /f win32.mak
|
nmake /f win32.mak $(MAKEMACRO)
|
||||||
cd ..\..\bin\psql
|
cd ..\..\bin\psql
|
||||||
nmake /f win32.mak
|
nmake /f win32.mak $(MAKEMACRO)
|
||||||
cd ..\..
|
cd ..\..
|
||||||
echo All Win32 parts have been built!
|
echo All Win32 parts have been built!
|
||||||
|
Loading…
Reference in New Issue
Block a user