aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/interfaces/odbc/connection.c19
-rw-r--r--src/interfaces/odbc/convert.c23
-rw-r--r--src/interfaces/odbc/dlg_specific.c14
-rw-r--r--src/interfaces/odbc/parse.c13
-rw-r--r--src/interfaces/odbc/psqlodbc.h5
-rw-r--r--src/interfaces/odbc/psqlodbc.rc152
-rw-r--r--src/interfaces/odbc/win32.mak58
7 files changed, 266 insertions, 18 deletions
diff --git a/src/interfaces/odbc/connection.c b/src/interfaces/odbc/connection.c
index 69e111e4c21..a4f0526184f 100644
--- a/src/interfaces/odbc/connection.c
+++ b/src/interfaces/odbc/connection.c
@@ -12,6 +12,11 @@
* Comments: See "notice.txt" for copyright and license information.
*
*/
+/* Multibyte support Eiji Tokuya 2001-03-15 */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include "environ.h"
#include "connection.h"
@@ -20,6 +25,11 @@
#include "qresult.h"
#include "lobj.h"
#include "dlg_specific.h"
+
+#ifdef MULTIBYTE
+#include "multibyte.h"
+#endif
+
#include <stdio.h>
#include <string.h>
@@ -496,9 +506,18 @@ static char *func="CC_connect";
globals.text_as_longvarchar,
globals.unknowns_as_longvarchar,
globals.bools_as_char);
+
+#ifdef MULTIBYTE
+ check_client_encoding(globals.conn_settings);
+ qlog(" extra_systable_prefixes='%s', conn_settings='%s' conn_encoding='%s'\n",
+ globals.extra_systable_prefixes,
+ globals.conn_settings,
+ check_client_encoding(globals.conn_settings));
+#else
qlog(" extra_systable_prefixes='%s', conn_settings='%s'\n",
globals.extra_systable_prefixes,
globals.conn_settings);
+#endif
if (self->status != CONN_NOT_CONNECTED) {
self->errormsg = "Already connected.";
diff --git a/src/interfaces/odbc/convert.c b/src/interfaces/odbc/convert.c
index 0d8ada32562..12739f32aaf 100644
--- a/src/interfaces/odbc/convert.c
+++ b/src/interfaces/odbc/convert.c
@@ -15,6 +15,7 @@
* Comments: See "notice.txt" for copyright and license information.
*
*/
+/* Multibyte support Eiji Tokuya 2001-03-15 */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -26,6 +27,10 @@
#include "psqlodbc.h"
+#ifdef MULTIBYTE
+#include "multibyte.h"
+#endif
+
#ifndef WIN32
#include "iodbc.h"
#include "isql.h"
@@ -690,6 +695,9 @@ int lobj_fd, retval;
param_number = -1;
oldstmtlen = strlen(old_statement);
+#ifdef MULTIBYTE
+ multibyte_init();
+#endif
for (opos = 0; opos < oldstmtlen; opos++) {
@@ -700,10 +708,18 @@ int lobj_fd, retval;
}
/* Handle literals (date, time, timestamp) and ODBC scalar functions */
+#ifdef MULTIBYTE
+ else if (multibyte_char_check(old_statement[opos]) == 0 && old_statement[opos] == '{') {
+#else
else if (old_statement[opos] == '{') {
+#endif
char *esc;
char *begin = &old_statement[opos + 1];
+#ifdef MULTIBYTE
+ char *end = multibyte_strchr(begin, '}');
+#else
char *end = strchr(begin, '}');
+#endif
if ( ! end)
continue;
@@ -1334,11 +1350,18 @@ char *p;
max = strlen(si);
else
max = used;
+#ifdef MULTIBYTE
+ multibyte_init();
+#endif
for (i = 0; i < max; i++) {
if (si[i] == '\r' && i+1 < strlen(si) && si[i+1] == '\n')
continue;
+#ifdef MULTIBYTE
+ else if (multibyte_char_check(si[i]) == 0 && (si[i] == '\'' || si[i] == '\\'))
+#else
else if (si[i] == '\'' || si[i] == '\\')
+#endif
p[out++] = '\\';
p[out++] = si[i];
diff --git a/src/interfaces/odbc/dlg_specific.c b/src/interfaces/odbc/dlg_specific.c
index 13e8b44e618..70df0186927 100644
--- a/src/interfaces/odbc/dlg_specific.c
+++ b/src/interfaces/odbc/dlg_specific.c
@@ -15,6 +15,7 @@
* Comments: See "notice.txt" for copyright and license information.
*
*/
+/* Multibyte support Eiji Tokuya 2001-03-15 */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -34,6 +35,10 @@
#include "dlg_specific.h"
#include "convert.h"
+#ifdef MULTIBYTE
+#include "multibyte.h"
+#endif
+
#ifndef BOOL
#define BOOL int
#endif
@@ -507,8 +512,17 @@ char encoded_conn_settings[LARGE_REGISTRY_LEN];
ci->show_oid_column,
ci->fake_oid_index,
ci->show_system_tables);
+
+#ifdef MULTIBYTE
+ check_client_encoding(ci->conn_settings);
+ qlog(" conn_settings='%s',conn_encoding='%s'\n",
+ ci->conn_settings,
+ check_client_encoding(ci->conn_settings));
+#else
qlog(" conn_settings='%s'\n",
ci->conn_settings);
+#endif
+
qlog(" translation_dll='%s',translation_option='%s'\n",
ci->translation_dll,
ci->translation_option);
diff --git a/src/interfaces/odbc/parse.c b/src/interfaces/odbc/parse.c
index b8eed13bf60..a5f046f179d 100644
--- a/src/interfaces/odbc/parse.c
+++ b/src/interfaces/odbc/parse.c
@@ -17,6 +17,11 @@
* Comments: See "notice.txt" for copyright and license information.
*
*/
+/* Multibyte support Eiji Tokuya 2001-03-15 */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <stdio.h>
#include <string.h>
@@ -27,6 +32,10 @@
#include "qresult.h"
#include "pgtypes.h"
+#ifdef MULTIBYTE
+#include "multibyte.h"
+#endif
+
#ifndef WIN32
#ifndef HAVE_STRICMP
#define stricmp(s1,s2) strcasecmp(s1,s2)
@@ -88,7 +97,11 @@ char qc, in_escape = FALSE;
if (s[i] == qc && ! in_escape) {
break;
}
+#ifdef MULTIBYTE
+ if (multibyte_char_check(s[i]) == 0 && s[i] == '\\' && ! in_escape) {
+#else
if (s[i] == '\\' && ! in_escape) {
+#endif
in_escape = TRUE;
}
else {
diff --git a/src/interfaces/odbc/psqlodbc.h b/src/interfaces/odbc/psqlodbc.h
index ccefb1a05f0..d1785c56e1e 100644
--- a/src/interfaces/odbc/psqlodbc.h
+++ b/src/interfaces/odbc/psqlodbc.h
@@ -6,7 +6,7 @@
*
* Comments: See "notice.txt" for copyright and license information.
*
- * $Id: psqlodbc.h,v 1.38 2001/02/15 05:32:00 inoue Exp $
+ * $Id: psqlodbc.h,v 1.39 2001/03/16 01:17:23 inoue Exp $
*/
#ifndef __PSQLODBC_H__
@@ -41,7 +41,7 @@ typedef UInt4 Oid;
#define DRIVERNAME "PostgreSQL ODBC"
#define DBMS_NAME "PostgreSQL"
-#define POSTGRESDRIVERVERSION "07.01.0003"
+#define POSTGRESDRIVERVERSION "07.01.0004"
#ifdef WIN32
#define DRIVER_FILE_NAME "PSQLODBC.DLL"
@@ -134,6 +134,7 @@ typedef struct GlobalValues_
char conn_settings[LARGE_REGISTRY_LEN];
char protocol[SMALL_REGISTRY_LEN];
+
FILE* mylogFP;
FILE* qlogFP;
} GLOBAL_VALUES;
diff --git a/src/interfaces/odbc/psqlodbc.rc b/src/interfaces/odbc/psqlodbc.rc
index dbbfa34ef96..750d32113d8 100644
--- a/src/interfaces/odbc/psqlodbc.rc
+++ b/src/interfaces/odbc/psqlodbc.rc
@@ -52,6 +52,118 @@ END
// Dialog
//
+#ifdef MULTIBYTE
+DLG_CONFIG DIALOG DISCARDABLE 65, 43, 299, 113
+STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION |
+ WS_SYSMENU
+CAPTION "PostgreSQL Driver Setup"
+FONT 10, "Terminal"
+BEGIN
+ RTEXT "&Data Source:",IDC_DSNAMETEXT,3,9,49,8,NOT WS_GROUP
+ EDITTEXT IDC_DSNAME,59,9,72,12,ES_AUTOHSCROLL | WS_GROUP
+ RTEXT "Des&cription:",IDC_DESCTEXT,135,10,49,8,NOT WS_GROUP
+ EDITTEXT IDC_DESC,185,10,110,25,ES_AUTOHSCROLL
+ RTEXT "Data&base:",IDC_STATIC,15,24,37,8,NOT WS_GROUP
+ EDITTEXT IDC_DATABASE,59,24,72,12,ES_AUTOHSCROLL
+ RTEXT "&Server:",IDC_STATIC,23,38,29,8,NOT WS_GROUP
+ EDITTEXT IDC_SERVER,59,38,72,12,ES_AUTOHSCROLL
+ RTEXT "&Port:",IDC_STATIC,161,38,21,8
+ EDITTEXT IDC_PORT,185,38,37,12,ES_AUTOHSCROLL
+ RTEXT "&User Name:",IDC_STATIC,11,53,41,8
+ EDITTEXT IDC_USER,59,53,72,12,ES_AUTOHSCROLL
+ RTEXT "Pass&word:",IDC_STATIC,145,53,37,8
+ EDITTEXT IDC_PASSWORD,185,53,72,12,ES_PASSWORD | ES_AUTOHSCROLL
+ DEFPUSHBUTTON "OK",IDOK,27,88,40,14,WS_GROUP
+ PUSHBUTTON "Cancel",IDCANCEL,81,88,40,14
+ GROUPBOX "Options (Advanced):",IDC_OPTIONS,141,72,140,35,
+ BS_CENTER
+ PUSHBUTTON "Driver",IDC_DRIVER,149,89,50,14
+ PUSHBUTTON "DataSource",IDC_DATASOURCE,221,88,50,14
+ CTEXT "Please supply any missing information needed to connect.",
+ DRV_MSG_LABEL,25,4,238,10
+END
+
+DLG_OPTIONS_DRV DIALOG DISCARDABLE 0, 0, 306, 213
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Advanced Options (Driver)"
+FONT 10, "Terminal"
+BEGIN
+ CONTROL "Disable Genetic &Optimizer",DRV_OPTIMIZER,"Button",
+ BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,13,11,116,10
+ CONTROL "Comm&Log (C:\\psqlodbc.log)",DRV_COMMLOG,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,164,11,120,10
+ CONTROL "&KSQO (Keyset Query Optimization)",DRV_KSQO,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,13,23,144,10
+ CONTROL "&ReadOnly (Default)",DRV_READONLY,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,164,24,88,10
+ CONTROL "Recognize Unique &Indexes",DRV_UNIQUEINDEX,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,13,35,112,10
+ CONTROL "P&arse Statements",DRV_PARSE,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,164,37,80,10
+ CONTROL "&Use Declare/Fetch",DRV_USEDECLAREFETCH,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,13,47,84,10
+ CONTROL "Cancel as FreeStmt (Exp)",DRV_CANCELASFREESTMT,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,164,50,112,10
+ GROUPBOX "Unknown Sizes",IDC_STATIC,13,63,175,24
+ CONTROL "Maximum",DRV_UNKNOWN_MAX,"Button",BS_AUTORADIOBUTTON |
+ WS_GROUP | WS_TABSTOP,21,71,44,10
+ CONTROL "Don't Know",DRV_UNKNOWN_DONTKNOW,"Button",
+ BS_AUTORADIOBUTTON | WS_TABSTOP,72,71,56,10
+ CONTROL "Longest",DRV_UNKNOWN_LONGEST,"Button",
+ BS_AUTORADIOBUTTON | WS_TABSTOP,135,71,44,10
+ GROUPBOX "Data Type Options",IDC_STATIC,13,91,282,23
+ CONTROL "Text as LongVarChar",DRV_TEXT_LONGVARCHAR,"Button",
+ BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,15,102,92,10
+ CONTROL "Unknowns as LongVarChar",DRV_UNKNOWNS_LONGVARCHAR,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,112,102,108,10
+ CONTROL "Bools as Char",DRV_BOOLS_CHAR,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,225,102,68,10
+ LTEXT "&Cache Size:",IDC_STATIC,15,120,45,8
+ EDITTEXT DRV_CACHE_SIZE,61,116,35,12,ES_AUTOHSCROLL
+ LTEXT "Max &Varchar:",IDC_STATIC,99,120,49,8
+ EDITTEXT DRV_VARCHAR_SIZE,149,116,35,12,ES_AUTOHSCROLL
+ LTEXT "Max Lon&gVarChar:",IDC_STATIC,192,120,65,8
+ EDITTEXT DRV_LONGVARCHAR_SIZE,259,116,35,12,ES_AUTOHSCROLL
+ LTEXT "SysTable &Prefixes:",IDC_STATIC,23,131,36,20
+ EDITTEXT DRV_EXTRASYSTABLEPREFIXES,61,137,75,12,ES_AUTOHSCROLL
+ LTEXT "Connect &Settings:",IDC_STATIC,22,152,35,20
+ EDITTEXT DRV_CONNSETTINGS,61,153,225,25,ES_MULTILINE |
+ ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN
+ DEFPUSHBUTTON "OK",IDOK,59,188,50,14,WS_GROUP
+ PUSHBUTTON "Cancel",IDCANCEL,129,188,50,14
+ PUSHBUTTON "Defaults",IDDEFAULTS,199,188,50,15
+END
+
+DLG_OPTIONS_DS DIALOG DISCARDABLE 0, 0, 267, 161
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Advanced Options (DataSource)"
+FONT 10, "Terminal"
+BEGIN
+ CONTROL "&ReadOnly",DS_READONLY,"Button",BS_AUTOCHECKBOX |
+ WS_GROUP | WS_TABSTOP,45,13,48,10
+ CONTROL "Row &Versioning",DS_ROWVERSIONING,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,149,13,72,10
+ CONTROL "Show System &Tables",DS_SHOWSYSTEMTABLES,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,45,28,88,10
+ GROUPBOX "Protocol",IDC_STATIC,43,44,180,25
+ CONTROL "7.X,6.4+",DS_PG64,"Button",BS_AUTORADIOBUTTON |
+ WS_GROUP,53,54,47,10
+ CONTROL "6.3",DS_PG63,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,
+ 131,54,26,10
+ CONTROL "6.2",DS_PG62,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,
+ 187,54,26,10
+ GROUPBOX "OID Options",IDC_STATIC,43,74,180,25
+ CONTROL "Show &Column",DS_SHOWOIDCOLUMN,"Button",BS_AUTOCHECKBOX |
+ WS_GROUP | WS_TABSTOP,53,85,59,10
+ CONTROL "Fake &Index",DS_FAKEOIDINDEX,"Button",BS_AUTOCHECKBOX |
+ WS_GROUP | WS_TABSTOP,161,85,55,10
+ LTEXT "Connect &Settings:",IDC_STATIC,10,105,35,25
+ EDITTEXT DS_CONNSETTINGS,50,105,200,20,ES_MULTILINE |
+ ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN
+ DEFPUSHBUTTON "OK",IDOK,71,135,50,14,WS_GROUP
+ PUSHBUTTON "Cancel",IDCANCEL,146,135,50,14
+END
+#else
DLG_CONFIG DIALOG DISCARDABLE 65, 43, 292, 116
STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU
@@ -162,7 +274,7 @@ BEGIN
DEFPUSHBUTTON "OK",IDOK,71,135,50,14,WS_GROUP
PUSHBUTTON "Cancel",IDCANCEL,146,135,50,14
END
-
+#endif
/////////////////////////////////////////////////////////////////////////////
//
@@ -170,6 +282,31 @@ END
//
#ifdef APSTUDIO_INVOKED
+#ifdef MULTIBYTE
+GUIDELINES DESIGNINFO DISCARDABLE
+BEGIN
+ DLG_CONFIG, DIALOG
+ BEGIN
+ BOTTOMMARGIN, 112
+ END
+
+ DLG_OPTIONS_DRV, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 301
+ TOPMARGIN, 5
+ BOTTOMMARGIN, 206
+ END
+
+ DLG_OPTIONS_DS, DIALOG
+ BEGIN
+ LEFTMARGIN, 5
+ RIGHTMARGIN, 260
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 154
+ END
+END
+#else
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
DLG_CONFIG, DIALOG
@@ -194,6 +331,7 @@ BEGIN
BOTTOMMARGIN, 154
END
END
+#endif // MULTIBYTE
#endif // APSTUDIO_INVOKED
@@ -204,8 +342,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 7,1,0,3
- PRODUCTVERSION 7,1,0,3
+ FILEVERSION 7,1,0,4
+ PRODUCTVERSION 7,1,0,4
FILEFLAGSMASK 0x3L
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -221,16 +359,20 @@ BEGIN
BLOCK "040904e4"
BEGIN
VALUE "Comments", "PostgreSQL ODBC driver\0"
+#ifdef MULTIBYTE
+ VALUE "CompanyName", "Insight Distribution Systems & Sankyo Unyu Service (MULTIBYTE support)\0"
+#else
VALUE "CompanyName", "Insight Distribution Systems\0"
+#endif
VALUE "FileDescription", "PostgreSQL Driver\0"
- VALUE "FileVersion", " 07.01.0003\0"
+ VALUE "FileVersion", " 07.01.0004\0"
VALUE "InternalName", "psqlodbc\0"
VALUE "LegalCopyright", "\0"
VALUE "LegalTrademarks", "ODBC(TM) is a trademark of Microsoft Corporation. Microsoft® is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation.\0"
VALUE "OriginalFilename", "psqlodbc.dll\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "Microsoft Open Database Connectivity\0"
- VALUE "ProductVersion", " 07.01.0003\0"
+ VALUE "ProductVersion", " 07.01.0004\0"
VALUE "SpecialBuild", "\0"
END
END
diff --git a/src/interfaces/odbc/win32.mak b/src/interfaces/odbc/win32.mak
index adb293d5a18..0a7eacf0305 100644
--- a/src/interfaces/odbc/win32.mak
+++ b/src/interfaces/odbc/win32.mak
@@ -18,12 +18,12 @@ CFG=Release
!MESSAGE
!ENDIF
-!IF "$(CFG)" != "Release" && "$(CFG)" != "Debug"
+!IF "$(CFG)" != "Release" && "$(CFG)" != "Debug" && "$(CFG)" != "MultibyteRelease" && "$(CFG)" != "MultibyteDebug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
-!MESSAGE NMAKE /f win32.mak CFG=Debug
+!MESSAGE NMAKE /f win32.mak CFG=[Release | Debug | MultibyteRelease | MultiByteDebug]
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
@@ -39,7 +39,7 @@ NULL=
NULL=nul
!ENDIF
-!IF "$(CFG)" == "Release"
+!IF "$(CFG)" == "Release" || "$(CFG)" == "MultibyteRelease"
OUTDIR=.\Release
INTDIR=.\Release
@@ -63,6 +63,9 @@ CLEAN :
-@erase "$(INTDIR)\info.obj"
-@erase "$(INTDIR)\lobj.obj"
-@erase "$(INTDIR)\misc.obj"
+!IF "$(CFG)" == "MultibyteRelease" || "$(CFG)" == "MultibyteDebug"
+ -@erase "$(INTDIR)\multibyte.obj"
+!ENDIF
-@erase "$(INTDIR)\options.obj"
-@erase "$(INTDIR)\parse.obj"
-@erase "$(INTDIR)\pgtypes.obj"
@@ -84,8 +87,11 @@ CLEAN :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
+!IF "$(CFG)" == "MultibyteRelease" || "$(CFG)" == "MultibyteDebug"
+CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PSQLODBC_EXPORTS" /D "MULTIBYTE" /Fp"$(INTDIR)\psqlodbc.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+!ELSE
CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PSQLODBC_EXPORTS" /Fp"$(INTDIR)\psqlodbc.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
-
+!ENDIF
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
@@ -96,6 +102,7 @@ CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS"
$(CPP_PROJ) $<
<<
+
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
@@ -140,6 +147,9 @@ LINK32_OBJS= \
"$(INTDIR)\info.obj" \
"$(INTDIR)\lobj.obj" \
"$(INTDIR)\misc.obj" \
+!IF "$(CFG)" == "MultibyteRelease" || "$(CFG)" == "MultibyteDebug"
+ "$(INTDIR)\multibyte.obj" \
+!ENDIF
"$(INTDIR)\options.obj" \
"$(INTDIR)\parse.obj" \
"$(INTDIR)\pgtypes.obj" \
@@ -158,7 +168,7 @@ LINK32_OBJS= \
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
-!ELSEIF "$(CFG)" == "Debug"
+!ELSEIF "$(CFG)" == "Debug" || "$(CFG)" == "MultibyteDebug"
OUTDIR=.\Debug
INTDIR=.\Debug
@@ -182,6 +192,9 @@ CLEAN :
-@erase "$(INTDIR)\info.obj"
-@erase "$(INTDIR)\lobj.obj"
-@erase "$(INTDIR)\misc.obj"
+!IF "$(CFG)" == "MultibyteRelease" || "$(CFG)" == "MultibyteDebug"
+ -@erase "$(INTDIR)\multibyte.obj"
+!ENDIF
-@erase "$(INTDIR)\options.obj"
-@erase "$(INTDIR)\parse.obj"
-@erase "$(INTDIR)\pgtypes.obj"
@@ -206,8 +219,11 @@ CLEAN :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
+!IF "$(CFG)" == "MultibyteRelease" || "$(CFG)" == "MultibyteDebug"
+CPP_PROJ=/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PSQLODBC_EXPORTS" /D "MULTIBYTE" /Fp"$(INTDIR)\psqlodbc.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
+!ELSE
CPP_PROJ=/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PSQLODBC_EXPORTS" /Fp"$(INTDIR)\psqlodbc.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
-
+!ENDIF
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
@@ -262,6 +278,9 @@ LINK32_OBJS= \
"$(INTDIR)\info.obj" \
"$(INTDIR)\lobj.obj" \
"$(INTDIR)\misc.obj" \
+!IF "$(CFG)" == "MultibyteRelease" || "$(CFG)" == "MultibyteDebug"
+ "$(INTDIR)\multibyte.obj" \
+!ENDIF
"$(INTDIR)\options.obj" \
"$(INTDIR)\parse.obj" \
"$(INTDIR)\pgtypes.obj" \
@@ -282,7 +301,8 @@ LINK32_OBJS= \
!ENDIF
-!IF "$(CFG)" == "Release" || "$(CFG)" == "Debug"
+!IF "$(CFG)" == "Release" || "$(CFG)" == "Debug" || "$(CFG)" == "MultibyteRelease" || "$(CFG)" == "MultibyteDebug"
+
SOURCE=bind.c
"$(INTDIR)\bind.obj" : $(SOURCE) "$(INTDIR)"
@@ -304,6 +324,7 @@ SOURCE=connection.c
SOURCE=convert.c
"$(INTDIR)\convert.obj" : $(SOURCE) "$(INTDIR)"
+
$(CPP) $(CPP_PROJ) $(SOURCE)
@@ -354,7 +375,14 @@ SOURCE=misc.c
"$(INTDIR)\misc.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
+!IF "$(CFG)" == "MultibyteRelease" || "$(CFG)" == "MultibyteDebug"
+SOURCE=multibyte.c
+
+"$(INTDIR)\multibyte.obj" : $(SOURCE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+!ENDIF
SOURCE=options.c
"$(INTDIR)\options.obj" : $(SOURCE) "$(INTDIR)"
@@ -381,19 +409,27 @@ SOURCE=psqlodbc.c
SOURCE=psqlodbc.rc
-!IF "$(CFG)" == "Release"
+!IF "$(CFG)" == "Release" || "$(CFG)" == "MultibyteRelease"
+!IF "$(CFG)" == "Release"
"$(INTDIR)\psqlodbc.res" : $(SOURCE) "$(INTDIR)"
$(RSC) /l 0x809 /fo"$(INTDIR)\psqlodbc.res" /d "NDEBUG" $(SOURCE)
+!ELSEIF "$(CFG)" == "MultibyteRelease"
+"$(INTDIR)\psqlodbc.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x809 /fo"$(INTDIR)\psqlodbc.res" /d "NDEBUG" /d "MULTIBYTE" $(SOURCE)
+!ENDIF
-!ELSEIF "$(CFG)" == "Debug"
-
+!ELSEIF "$(CFG)" == "Debug" || "$(CFG)" == "MultibyteDebug"
+!IF "$(CFG)" == "Debug"
"$(INTDIR)\psqlodbc.res" : $(SOURCE) "$(INTDIR)"
$(RSC) /l 0x809 /fo"$(INTDIR)\psqlodbc.res" /d "_DEBUG" $(SOURCE)
-
+!ELSEIF "$(CFG)" == "MultibyteDebug"
+"$(INTDIR)\psqlodbc.res" : $(SOURCE) "$(INTDIR)"
+ $(RSC) /l 0x809 /fo"$(INTDIR)\psqlodbc.res" /d "_DEBUG" /d "MULTIBYTE" $(SOURCE)
+!ENDIF
!ENDIF