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