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
This commit is contained in:
Hiroshi Inoue 2001-03-16 01:17:23 +00:00
parent 25f03eb30c
commit 9242e6c038
7 changed files with 266 additions and 18 deletions

View File

@ -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.";

View File

@ -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];

View File

@ -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);

View File

@ -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 {

View File

@ -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;

View File

@ -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

View File

@ -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