*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
#ifdef MULTIBYTE
/* truncate multi-byte string in a way not to break
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
slen = VARSIZE(s) - VARHDRSZ;
#endif
* This file contains some public functions
* usable for both the backend and the frontend.
* 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 "mb/pg_wchar.h"
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 \
/I ..\..\include /I ..\..\interfaces\libpq
+
+!IFDEF MULTIBYTE
+!IFNDEF MBFLAGS
+MBFLAGS="-DMULTIBYTE=$(MULTIBYTE)"
+!ENDIF
+CPP_PROJ=$(MBFLAGS) $(CPP_PROJ)
+!ENDIF
+
CPP_OBJS=.\Release/
CPP_SBRS=.
* didn't really belong there.
*
* 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 $
*
*-------------------------------------------------------------------------
*/
return (pg_encoding_mblen(encoding, s));
}
-#endif
+#else
+
+#ifdef WIN32
+int
+PQmblen(unsigned char *s)
+{
+}
+#endif /* WIN32 */
+
+
+#endif /* MULTIBYTE */
static void
do_field(PQprintOpt *po, PGresult *res,
lo_unlink @ 60
lo_import @ 61
lo_export @ 62
- PQresultErrorMessage @ 63
+ pgresStatus @ 63
+ PQmblen @ 64
-@erase "$(OUTDIR)\libpq.lib"
-@erase "$(OUTDIR)\libpq.dll"
-@erase "$(OUTDIR)\libpq.res"
- -@erase "$(OUTDIR)\vc*.*"
+ -@erase "vc50.pch"
-@erase "$(OUTDIR)\libpq.pch"
-@erase "$(OUTDIR)\libpqdll.exp"
-@erase "$(OUTDIR)\libpqdll.lib"
CPP_PROJ=/nologo /ML /W3 /GX /O2 /I "..\..\include" /D "NDEBUG" /D\
"WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" /YX\
/Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+
+!IFDEF MULTIBYTE
+!IFNDEF MBFLAGS
+MBFLAGS="-DMULTIBYTE=$(MULTIBYTE)"
+!ENDIF
+CPP_PROJ = $(CPP_PROJ) $(MBFLAGS)
+!ENDIF
+
CPP_OBJS=.\Release/
CPP_SBRS=.
"$(INTDIR)\fe-misc.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"
LINK32=link.exe
NULL=nul
!ENDIF
+!IFDEF MULTIBYTE
+MAKEMACRO = "MULTIBYTE=$(MULTIBYTE)"
+!ENDIF
+
ALL:
cd interfaces\libpq
- nmake /f win32.mak
+ nmake /f win32.mak $(MAKEMACRO)
cd ..\..\bin\psql
- nmake /f win32.mak
+ nmake /f win32.mak $(MAKEMACRO)
cd ..\..
echo All Win32 parts have been built!