aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHiroshi Inoue <inoue@tpf.co.jp>2001-03-16 01:17:23 +0000
committerHiroshi Inoue <inoue@tpf.co.jp>2001-03-16 01:17:23 +0000
commit9242e6c0380f17bc3e7849ab9b1e38e825116b60 (patch)
tree16f3ae15c17f53800760a5974c5b2313f1941998 /src
parent25f03eb30ce11d7c4f2adafd98f0bdf48733975b (diff)
downloadpostgresql-9242e6c0380f17bc3e7849ab9b1e38e825116b60.tar.gz
postgresql-9242e6c0380f17bc3e7849ab9b1e38e825116b60.zip
Add multibyte support.
Provide an extenisible scheme of encoding conversion. As the first step, SJIS and BIG5 are supported. From now on multibyte people would be happy to use this psqlodbc driver. Eiji Tokuya e-tokuya@mail.sankyo-unyu.co.jp
Diffstat (limited to 'src')
-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