rpms/unixODBC/devel conffile.h, NONE, 1.1 export-symbols.patch, NONE, 1.1 keep-typedefs.patch, NONE, 1.1 libtool-config.patch, NONE, 1.1 so-version-bump.patch, NONE, 1.1 warning-cleanup.patch, NONE, 1.1 .cvsignore, 1.13, 1.14 multilib-config.patch, 1.1, 1.2 odbcinst.ini, 1.3, 1.4 sources, 1.13, 1.14 unixODBC.spec, 1.45, 1.46 nortldglobal.patch, 1.1, NONE parserupdate.patch, 1.1, NONE unixODBC-2.2.11-stricmp.patch, 1.2, NONE

Tom Lane tgl at fedoraproject.org
Fri Feb 20 17:22:20 UTC 2009


Author: tgl

Update of /cvs/pkgs/rpms/unixODBC/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28101

Modified Files:
	.cvsignore multilib-config.patch odbcinst.ini sources 
	unixODBC.spec 
Added Files:
	conffile.h export-symbols.patch keep-typedefs.patch 
	libtool-config.patch so-version-bump.patch 
	warning-cleanup.patch 
Removed Files:
	nortldglobal.patch parserupdate.patch 
	unixODBC-2.2.11-stricmp.patch 
Log Message:
Update to unixODBC 2.2.14


--- NEW FILE conffile.h ---
/*
 * Kluge to support multilib installation of both 32- and 64-bit RPMS:
 * we need to arrange that header files that appear in both RPMs are
 * identical.  Hence, this file is architecture-independent and calls
 * in an arch-dependent file that will appear in just one RPM.
 *
 * Note: this may well fail if user tries to use gcc's -I- option.
 * But that option is deprecated anyway.
 */
#if defined(__x86_64__)
#include "CONFFILE_x86_64.h"
#elif defined(__ia64__)
#include "CONFFILE_ia64.h"
#elif defined(__i386__)
#include "CONFFILE_i386.h"
#elif defined(__ppc64__) || defined(__powerpc64__)
#include "CONFFILE_ppc64.h"
#elif defined(__ppc__) || defined(__powerpc__)
#include "CONFFILE_ppc.h"
#elif defined(__s390x__)
#include "CONFFILE_s390x.h"
#elif defined(__s390__)
#include "CONFFILE_s390.h"
#endif

export-symbols.patch:

--- NEW FILE export-symbols.patch ---
Fix some unknown symbols.  (This patch was originally for 2.2.11,
do we still need it?)


diff -Naur unixODBC-2.2.14.orig/DriverManager/DriverManager.exp unixODBC-2.2.14/DriverManager/DriverManager.exp
--- unixODBC-2.2.14.orig/DriverManager/DriverManager.exp	2008-05-22 05:10:54.000000000 -0400
+++ unixODBC-2.2.14/DriverManager/DriverManager.exp	2009-02-15 18:44:46.000000000 -0500
@@ -153,6 +153,8 @@
 SQLTablesA
 SQLTransact
 ODBCSharedTraceFlag
+dm_log_write
+__post_internal_error
 uodbc_open_stats
 uodbc_close_stats
 uodbc_get_stats
diff -Naur unixODBC-2.2.14.orig/cur/Makefile.am unixODBC-2.2.14/cur/Makefile.am
--- unixODBC-2.2.14.orig/cur/Makefile.am	2008-06-17 06:18:39.000000000 -0400
+++ unixODBC-2.2.14/cur/Makefile.am	2009-02-15 18:44:46.000000000 -0500
@@ -10,7 +10,7 @@
 libodbccr_la_LDFLAGS = \
 	-no-undefined \
 	-version-info @LIB_VERSION@ \
-	-export-symbols @srcdir@/cur.exp -export-dynamic 
+	-export-symbols @srcdir@/cur.exp -export-dynamic ../DriverManager/libodbc.la
 
 libodbccr_la_SOURCES = \
     SQLAllocHandle.c \
diff -Naur unixODBC-2.2.14.orig/cur/Makefile.in unixODBC-2.2.14/cur/Makefile.in
--- unixODBC-2.2.14.orig/cur/Makefile.in	2008-11-19 11:11:15.000000000 -0500
+++ unixODBC-2.2.14/cur/Makefile.in	2009-02-15 18:44:46.000000000 -0500
@@ -272,7 +272,7 @@
 libodbccr_la_LDFLAGS = \
 	-no-undefined \
 	-version-info @LIB_VERSION@ \
-	-export-symbols @srcdir@/cur.exp -export-dynamic 
+	-export-symbols @srcdir@/cur.exp -export-dynamic ../DriverManager/libodbc.la
 
 libodbccr_la_SOURCES = \
     SQLAllocHandle.c \

keep-typedefs.patch:

--- NEW FILE keep-typedefs.patch ---
Upstream has decided to deprecate these typedefs, but experience so far
says that removing them just breaks code to little purpose.


diff -Naur unixODBC-2.2.14.orig/include/sqltypes.h unixODBC-2.2.14/include/sqltypes.h
--- unixODBC-2.2.14.orig/include/sqltypes.h	2008-10-31 12:21:53.000000000 -0400
+++ unixODBC-2.2.14/include/sqltypes.h	2009-02-16 13:28:50.000000000 -0500
@@ -170,6 +170,10 @@
  typedef SQLUINTEGER 	SQLROWSETSIZE;
  typedef SQLLEN 		SQLROWOFFSET;
  */
+typedef SQLULEN         SQLROWCOUNT;
+typedef SQLULEN         SQLROWSETSIZE;
+typedef SQLULEN         SQLTRANSID;
+typedef SQLLEN          SQLROWOFFSET;
 #endif
 #else
 typedef long            SQLINTEGER;

libtool-config.patch:

--- NEW FILE libtool-config.patch ---
unixODBC doesn't actually succeed if you try to build with the system libltdl.
Take out code that expects libltdl to exist locally.


diff -Naur unixODBC-2.2.14.orig/Makefile.am unixODBC-2.2.14/Makefile.am
--- unixODBC-2.2.14.orig/Makefile.am	2008-09-02 08:29:31.000000000 -0400
+++ unixODBC-2.2.14/Makefile.am	2009-02-15 22:27:55.000000000 -0500
@@ -3,7 +3,6 @@
 	log \
 	lst \
 	ini \
-	libltdl \
 	odbcinst \
 	DriverManager \
 	odbcinstQ \
diff -Naur unixODBC-2.2.14.orig/configure.in unixODBC-2.2.14/configure.in
--- unixODBC-2.2.14.orig/configure.in	2008-11-19 11:08:40.000000000 -0500
+++ unixODBC-2.2.14/configure.in	2009-02-16 00:45:22.000000000 -0500
@@ -165,27 +165,12 @@
 INCLTDL=""
 LIBLTDL=""
 
-AC_MSG_CHECKING( Have we enabled using RTLD_GROUP )
-if test "x$rtldgroup" = "xtrue"; then
-AC_MSG_RESULT( yes )
-AC_LIBLTDL_CONVENIENCE
-else
-AC_MSG_RESULT( no );
-AC_LIBLTDL_CONVENIENCE_G
-fi
-
 dnl Check for dlopen support
 AC_LIBTOOL_DLOPEN
 
-dnl for cygwin support
-AC_LIBTOOL_WIN32_DLL
-
 dnl Configure libtool
 AM_PROG_LIBTOOL
 
-dnl Configure libltdl
-AC_CONFIG_SUBDIRS(libltdl)
-
 use_builtin_libtool="no"
 
 dnl override the libtool lines if we use the system libs
@@ -517,7 +502,7 @@
 AM_CONDITIONAL(DRIVERS, test "x$drivers" = "xtrue" )
 AM_CONDITIONAL(FDB, test "x$fdb" = "xtrue" )
 AM_CONDITIONAL(QNX, test "x$qnx" = "xtrue" )
-AM_CONDITIONAL(WITHLT, test "x$use_builtin_libtool" = "xyes" )
+AM_CONDITIONAL(WITHLT, test "x$use_builtin_libtool" = "xno" )
 AM_CONDITIONAL(ODBCTRACE, test "x$odbctrace" = "xtrue" )
 
 dnl This blows up due to what I think is a bug in automake 1.6.3

so-version-bump.patch:

--- NEW FILE so-version-bump.patch ---
Set the major .so version to 2 for all unixODBC shared libraries, to reflect
the incompatible ABI changes in 2.2.14.


diff -Naur unixODBC-2.2.14.orig/configure.in unixODBC-2.2.14/configure.in
--- unixODBC-2.2.14.orig/configure.in	2008-11-19 11:08:40.000000000 -0500
+++ unixODBC-2.2.14/configure.in	2009-02-16 11:56:53.000000000 -0500
@@ -546,7 +546,7 @@
 dnl This is the unixODBC source tree
 AC_DEFINE(UNIXODBC_SOURCE)
 
-LIB_VERSION="1:0:0"
+LIB_VERSION="2:0:0"
 AC_SUBST(LIB_VERSION)
 
 AC_OUTPUT( Makefile \
diff -Naur unixODBC-2.2.14.orig/DRVConfig/Mimer/Makefile.am unixODBC-2.2.14/DRVConfig/Mimer/Makefile.am
--- unixODBC-2.2.14.orig/DRVConfig/Mimer/Makefile.am	2008-06-17 06:14:07.000000000 -0400
+++ unixODBC-2.2.14/DRVConfig/Mimer/Makefile.am	2009-02-16 11:59:31.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include $(LTDLINCL)
 
-libmimerS_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module
+libmimerS_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/DRVConfig/MiniSQL/Makefile.am unixODBC-2.2.14/DRVConfig/MiniSQL/Makefile.am
--- unixODBC-2.2.14.orig/DRVConfig/MiniSQL/Makefile.am	2008-06-17 06:14:17.000000000 -0400
+++ unixODBC-2.2.14/DRVConfig/MiniSQL/Makefile.am	2009-02-16 11:59:27.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include $(LTDLINCL)
 
-libodbcminiS_la_LDFLAGS = -no-undefined  -version-info 1:0:0 -module
+libodbcminiS_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/DRVConfig/MySQL/Makefile.am unixODBC-2.2.14/DRVConfig/MySQL/Makefile.am
--- unixODBC-2.2.14.orig/DRVConfig/MySQL/Makefile.am	2008-06-17 06:14:23.000000000 -0400
+++ unixODBC-2.2.14/DRVConfig/MySQL/Makefile.am	2009-02-16 11:59:50.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include $(LTDLINCL)
 
-libodbcmyS_la_LDFLAGS = -no-undefined  -version-info 1:0:0 -module
+libodbcmyS_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/DRVConfig/Oracle/Makefile.am unixODBC-2.2.14/DRVConfig/Oracle/Makefile.am
--- unixODBC-2.2.14.orig/DRVConfig/Oracle/Makefile.am	2008-06-17 06:14:29.000000000 -0400
+++ unixODBC-2.2.14/DRVConfig/Oracle/Makefile.am	2009-02-16 11:59:07.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include $(LTDLINCL)
 
-liboraodbcS_la_LDFLAGS = -no-undefined  -version-info 1:0:0 -module
+liboraodbcS_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/DRVConfig/PostgreSQL/Makefile.am unixODBC-2.2.14/DRVConfig/PostgreSQL/Makefile.am
--- unixODBC-2.2.14.orig/DRVConfig/PostgreSQL/Makefile.am	2008-06-17 06:14:35.000000000 -0400
+++ unixODBC-2.2.14/DRVConfig/PostgreSQL/Makefile.am	2009-02-16 11:59:01.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include $(LTDLINCL)
 
-libodbcpsqlS_la_LDFLAGS = -no-undefined  -version-info 1:0:0 -module
+libodbcpsqlS_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/DRVConfig/drvcfg1/Makefile.am unixODBC-2.2.14/DRVConfig/drvcfg1/Makefile.am
--- unixODBC-2.2.14.orig/DRVConfig/drvcfg1/Makefile.am	2008-06-17 06:14:40.000000000 -0400
+++ unixODBC-2.2.14/DRVConfig/drvcfg1/Makefile.am	2009-02-16 12:00:00.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include $(LTDLINCL)
 
-libodbcdrvcfg1S_la_LDFLAGS = -no-undefined  -version-info 1:0:0 -module
+libodbcdrvcfg1S_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/DRVConfig/drvcfg2/Makefile.am unixODBC-2.2.14/DRVConfig/drvcfg2/Makefile.am
--- unixODBC-2.2.14.orig/DRVConfig/drvcfg2/Makefile.am	2008-06-17 06:14:45.000000000 -0400
+++ unixODBC-2.2.14/DRVConfig/drvcfg2/Makefile.am	2009-02-16 11:58:39.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include $(LTDLINCL)
 
-libodbcdrvcfg2S_la_LDFLAGS = -no-undefined  -version-info 1:0:0 -module
+libodbcdrvcfg2S_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/DRVConfig/esoob/Makefile.am unixODBC-2.2.14/DRVConfig/esoob/Makefile.am
--- unixODBC-2.2.14.orig/DRVConfig/esoob/Makefile.am	2008-06-17 06:14:50.000000000 -0400
+++ unixODBC-2.2.14/DRVConfig/esoob/Makefile.am	2009-02-16 11:59:41.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include $(LTDLINCL)
 
-libesoobS_la_LDFLAGS = -no-undefined  -version-info 1:0:0 -module
+libesoobS_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/DRVConfig/nn/Makefile.am unixODBC-2.2.14/DRVConfig/nn/Makefile.am
--- unixODBC-2.2.14.orig/DRVConfig/nn/Makefile.am	2008-06-17 06:14:56.000000000 -0400
+++ unixODBC-2.2.14/DRVConfig/nn/Makefile.am	2009-02-16 11:59:18.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include $(LTDLINCL)
 
-libodbcnnS_la_LDFLAGS = -no-undefined  -version-info 1:0:0 -module
+libodbcnnS_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/DRVConfig/oplodbc/Makefile.am unixODBC-2.2.14/DRVConfig/oplodbc/Makefile.am
--- unixODBC-2.2.14.orig/DRVConfig/oplodbc/Makefile.am	2008-06-17 06:15:01.000000000 -0400
+++ unixODBC-2.2.14/DRVConfig/oplodbc/Makefile.am	2009-02-16 11:58:56.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include $(LTDLINCL)
 
-liboplodbcS_la_LDFLAGS = -no-undefined  -version-info 1:0:0 -module
+liboplodbcS_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/DRVConfig/sapdb/Makefile.am unixODBC-2.2.14/DRVConfig/sapdb/Makefile.am
--- unixODBC-2.2.14.orig/DRVConfig/sapdb/Makefile.am	2008-06-17 06:15:07.000000000 -0400
+++ unixODBC-2.2.14/DRVConfig/sapdb/Makefile.am	2009-02-16 11:59:12.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include $(LTDLINCL)
 
-libsapdbS_la_LDFLAGS = -no-undefined  -version-info 1:0:0 -module
+libsapdbS_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/DRVConfig/tds/Makefile.am unixODBC-2.2.14/DRVConfig/tds/Makefile.am
--- unixODBC-2.2.14.orig/DRVConfig/tds/Makefile.am	2008-06-17 06:15:20.000000000 -0400
+++ unixODBC-2.2.14/DRVConfig/tds/Makefile.am	2009-02-16 11:59:36.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include $(LTDLINCL)
 
-libtdsS_la_LDFLAGS = -no-undefined  -version-info 1:0:0 -module
+libtdsS_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/DRVConfig/txt/Makefile.am unixODBC-2.2.14/DRVConfig/txt/Makefile.am
--- unixODBC-2.2.14.orig/DRVConfig/txt/Makefile.am	2008-06-17 06:15:31.000000000 -0400
+++ unixODBC-2.2.14/DRVConfig/txt/Makefile.am	2009-02-16 11:59:55.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include $(LTDLINCL)
 
-libodbctxtS_la_LDFLAGS = -no-undefined  -version-info 1:0:0 -module
+libodbctxtS_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/Drivers/MiniSQL/Makefile.am unixODBC-2.2.14/Drivers/MiniSQL/Makefile.am
--- unixODBC-2.2.14.orig/Drivers/MiniSQL/Makefile.am	2008-06-17 06:16:11.000000000 -0400
+++ unixODBC-2.2.14/Drivers/MiniSQL/Makefile.am	2009-02-16 12:00:22.000000000 -0500
@@ -196,6 +196,6 @@
 	sqlFreeEnv.c \
 	sqlFreeStmt.c 
 
-libodbcmini_la_LDFLAGS = -no-undefined -version-info 1:0:0 \
+libodbcmini_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) \
 	-L at msql_libraries@ -lmsql -module
 
diff -Naur unixODBC-2.2.14.orig/Drivers/Postgre7.1/Makefile.am unixODBC-2.2.14/Drivers/Postgre7.1/Makefile.am
--- unixODBC-2.2.14.orig/Drivers/Postgre7.1/Makefile.am	2008-06-17 12:09:03.000000000 -0400
+++ unixODBC-2.2.14/Drivers/Postgre7.1/Makefile.am	2009-02-16 12:02:30.000000000 -0500
@@ -3,7 +3,7 @@
 INCLUDES = -I at top_srcdir@/include
 
 libodbcpsql_la_LDFLAGS = \
-	-version-info 2:0:0 \
+	-version-info $(LIB_VERSION) \
 	-no-undefined \
 	$(LIBSOCKET) $(LIBNSL) \
 	-export-dynamic \
diff -Naur unixODBC-2.2.14.orig/Drivers/PostgreSQL/Makefile.am unixODBC-2.2.14/Drivers/PostgreSQL/Makefile.am
--- unixODBC-2.2.14.orig/Drivers/PostgreSQL/Makefile.am	2008-06-17 06:16:48.000000000 -0400
+++ unixODBC-2.2.14/Drivers/PostgreSQL/Makefile.am	2009-02-16 12:00:05.000000000 -0500
@@ -4,7 +4,7 @@
 
 libodbcpsql_la_LDFLAGS = \
 	-no-undefined \
-	-version-info 1:0:0 \
+	-version-info $(LIB_VERSION) \
 	$(LIBSOCKET) $(LIBNSL) \
 	-module
 
diff -Naur unixODBC-2.2.14.orig/Drivers/nn/Makefile.am unixODBC-2.2.14/Drivers/nn/Makefile.am
--- unixODBC-2.2.14.orig/Drivers/nn/Makefile.am	2008-06-17 06:16:54.000000000 -0400
+++ unixODBC-2.2.14/Drivers/nn/Makefile.am	2009-02-16 12:00:16.000000000 -0500
@@ -2,7 +2,7 @@
 
 INCLUDES = -I at top_srcdir@/include -I.
 
-libnn_la_LDFLAGS = -no-undefined  -version-info 1:0:0 -module
+libnn_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) -module
 
 DEFS = -DUNIXODBC @DEFS@
 
diff -Naur unixODBC-2.2.14.orig/Drivers/template/Makefile.am unixODBC-2.2.14/Drivers/template/Makefile.am
--- unixODBC-2.2.14.orig/Drivers/template/Makefile.am	2008-06-17 06:17:03.000000000 -0400
+++ unixODBC-2.2.14/Drivers/template/Makefile.am	2009-02-16 12:00:11.000000000 -0500
@@ -4,7 +4,7 @@
 
 DEFS = -DUNIXODBC @DEFS@
 
-libtemplate_la_LDFLAGS = -no-undefined  -version-info 1:0:0 
+libtemplate_la_LDFLAGS = -no-undefined  -version-info $(LIB_VERSION) 
 
 EXTRA_DIST = \
 	driver.h \
diff -Naur unixODBC-2.2.14.orig/odbcinstQ/Makefile.am unixODBC-2.2.14/odbcinstQ/Makefile.am
--- unixODBC-2.2.14.orig/odbcinstQ/Makefile.am	2008-06-30 09:21:04.000000000 -0400
+++ unixODBC-2.2.14/odbcinstQ/Makefile.am	2009-02-16 12:00:29.000000000 -0500
@@ -1,6 +1,6 @@
 libodbcinstQ_la_LDFLAGS = \
 		-no-undefined \
-        -version-info 1:0:0 \
+        -version-info $(LIB_VERSION) \
 		-export-dynamic \
 		-export-symbols @srcdir@/odbcinstQ.exp \
 	    -module
diff -Naur unixODBC-2.2.14.orig/odbcinstQ4/Makefile.am unixODBC-2.2.14/odbcinstQ4/Makefile.am
--- unixODBC-2.2.14.orig/odbcinstQ4/Makefile.am	2008-11-18 08:32:58.000000000 -0500
+++ unixODBC-2.2.14/odbcinstQ4/Makefile.am	2009-02-16 12:00:36.000000000 -0500
@@ -1,6 +1,6 @@
 libodbcinstQ4_la_LDFLAGS = \
 		-no-undefined \
-		-version-info 1:0:0 \
+		-version-info $(LIB_VERSION) \
 		-export-dynamic \
 		-export-symbols @srcdir@/odbcinstQ4.exp \
 		-module

warning-cleanup.patch:

--- NEW FILE warning-cleanup.patch ---
This patch fixes a boatload of bugs in 2.2.14, some but not all of which
would manifest only on 64-bit platforms.  All changes were identified by
examining compiler warnings on a Fedora 9 64-bit build.
Submitted upstream 2009-02-16.


diff -Naur unixODBC-2.2.14.orig/DataManager/classISQL.cpp unixODBC-2.2.14/DataManager/classISQL.cpp
--- unixODBC-2.2.14.orig/DataManager/classISQL.cpp	2007-02-12 06:49:33.000000000 -0500
+++ unixODBC-2.2.14/DataManager/classISQL.cpp	2009-02-15 18:34:44.000000000 -0500
@@ -180,7 +180,7 @@
     txtSQL->hide();
 
     txtResults->append( qsHorizSep );
-    qsHorizSep.sprintf( "\n\n%d rows affected", nRowsAffected );
+    qsHorizSep.sprintf( "\n\n%ld rows affected", (long) nRowsAffected );
     txtResults->append( qsHorizSep );
 
     txtResults->setAutoUpdate( TRUE );
diff -Naur unixODBC-2.2.14.orig/DataManagerII/classBrowse.cpp unixODBC-2.2.14/DataManagerII/classBrowse.cpp
--- unixODBC-2.2.14.orig/DataManagerII/classBrowse.cpp	2007-02-12 06:49:33.000000000 -0500
+++ unixODBC-2.2.14/DataManagerII/classBrowse.cpp	2009-02-15 18:34:44.000000000 -0500
@@ -243,7 +243,7 @@
   if (SQL_SUCCEEDED(nReturn))
     addStatus( QString().sprintf("%s: %d row(s) completed", shortDesc.upper().ascii(), nRowsAffected) ) ;
   else
-    addStatus( QString().sprintf("%s: %d row(s), ERROR rc=%d, %d row(s) affected", shortDesc.upper().ascii(), listRows.count(), nReturn, nRowsAffected) ) ;
+    addStatus( QString().sprintf("%s: %ld row(s), ERROR rc=%d, %ld row(s) affected", shortDesc.upper().ascii(), (long) listRows.count(), nReturn, (long) nRowsAffected) ) ;
 
   return nRowsAffected ;
 }
@@ -293,7 +293,7 @@
     return ;
 
   // Confirm delete with user
-  if (!OkWithUser( "table row delete", QString().sprintf("Do you want to delete the following %d row(s)?\nROWS: ", listRows.count()) + qsRowsSelected ))
+  if (!OkWithUser( "table row delete", QString().sprintf("Do you want to delete the following %ld row(s)?\nROWS: ", (long) listRows.count()) + qsRowsSelected ))
     return ;
 
   // Double check the action to be sure user knows about duplicates that might be affected
@@ -327,7 +327,7 @@
     return ;
 
   // Confirm delete with user
-  if (!OkWithUser( "table row insert", QString().sprintf("Do you want to insert the following %d row(s)?\nROWS: ", listRows.count()) + qsRowsSelected ))
+  if (!OkWithUser( "table row insert", QString().sprintf("Do you want to insert the following %ld row(s)?\nROWS: ", (long) listRows.count()) + qsRowsSelected ))
     return ;
 
   // Build SQL statement with parameter markers
@@ -556,7 +556,7 @@
     tableData->setNumRows( nRows );
 
     // Update the status
-    addStatus( QString().sprintf( "RUN: %d rows and %d columns affected", nRows, nColumns ) ) ;
+    addStatus( QString().sprintf( "RUN: %ld rows and %d columns affected", (long) nRows, nColumns ) ) ;
 }
 
 void classBrowse::ExecHeader( SQLHSTMT hStmt, SWORD nColumns )
diff -Naur unixODBC-2.2.14.orig/DataManagerII/classISQL.cpp unixODBC-2.2.14/DataManagerII/classISQL.cpp
--- unixODBC-2.2.14.orig/DataManagerII/classISQL.cpp	2007-04-17 11:16:14.000000000 -0400
+++ unixODBC-2.2.14/DataManagerII/classISQL.cpp	2009-02-15 18:34:44.000000000 -0500
@@ -322,7 +322,7 @@
     txtSQL->hide();
     txtResults->setAutoUpdate( TRUE );
     txtResults->repaint();
-    addStatus( QString().sprintf( "RUN: %d rows and %d columns affected", nRowsAffected, nColumns ) ) ;
+    addStatus( QString().sprintf( "RUN: %ld rows and %d columns affected", (long) nRowsAffected, nColumns ) ) ;
 }
 
 #ifdef QT_V4LAYOUT
diff -Naur unixODBC-2.2.14.orig/DriverManager/SQLColAttributesW.c unixODBC-2.2.14/DriverManager/SQLColAttributesW.c
--- unixODBC-2.2.14.orig/DriverManager/SQLColAttributesW.c	2008-09-01 12:38:34.000000000 -0400
+++ unixODBC-2.2.14/DriverManager/SQLColAttributesW.c	2009-02-15 18:34:44.000000000 -0500
@@ -368,7 +368,7 @@
         {
             if ( CHECK_SQLCOLATTRIBUTE( statement -> connection ))
             {
-                SQLCHAR *as1;
+                SQLCHAR *as1 = NULL;
 
                 /*
                  * map to the ODBC3 function
@@ -460,7 +460,7 @@
         }
         else
         {
-            SQLCHAR *as1;
+            SQLCHAR *as1 = NULL;
 
             switch( field_identifier )
             {
diff -Naur unixODBC-2.2.14.orig/DriverManager/SQLConnect.c unixODBC-2.2.14/DriverManager/SQLConnect.c
--- unixODBC-2.2.14.orig/DriverManager/SQLConnect.c	2008-09-29 10:02:43.000000000 -0400
+++ unixODBC-2.2.14/DriverManager/SQLConnect.c	2009-02-15 18:34:44.000000000 -0500
@@ -827,7 +827,7 @@
     return hand;
 }
 
-static odbc_dlclose( void *handle )
+static void odbc_dlclose( void *handle )
 {
     struct lib_count *list, *prev;
 
diff -Naur unixODBC-2.2.14.orig/DriverManager/SQLCopyDesc.c unixODBC-2.2.14/DriverManager/SQLCopyDesc.c
--- unixODBC-2.2.14.orig/DriverManager/SQLCopyDesc.c	2004-03-30 08:20:11.000000000 -0500
+++ unixODBC-2.2.14/DriverManager/SQLCopyDesc.c	2009-02-15 18:34:44.000000000 -0500
@@ -279,7 +279,7 @@
          * get the count from the source field
          */
 
-        ret == SQLGETDESCFIELD( src_descriptor -> connection,
+        ret = SQLGETDESCFIELD( src_descriptor -> connection,
                                 src_descriptor -> driver_desc,
                                 0, 
                                 SQL_DESC_COUNT,
@@ -298,7 +298,7 @@
             {
                 if ( header_fields[ i ].field_type == SQL_INTEGER )
                 {
-                    ret == SQLGETDESCFIELD( src_descriptor -> connection,
+                    ret = SQLGETDESCFIELD( src_descriptor -> connection,
                                 src_descriptor -> driver_desc,
                                 0, 
                                 header_fields[ i ].field_identifier,
@@ -308,7 +308,7 @@
                 }
                 else if ( header_fields[ i ].field_type == SQL_SMALLINT )
                 {
-                    ret == SQLGETDESCFIELD( src_descriptor -> connection,
+                    ret = SQLGETDESCFIELD( src_descriptor -> connection,
                                 src_descriptor -> driver_desc,
                                 0, 
                                 header_fields[ i ].field_identifier,
@@ -318,7 +318,7 @@
                 }
                 if ( header_fields[ i ].field_type == SQL_VARCHAR )
                 {
-                    ret == SQLGETDESCFIELD( src_descriptor -> connection,
+                    ret = SQLGETDESCFIELD( src_descriptor -> connection,
                                 src_descriptor -> driver_desc,
                                 0, 
                                 header_fields[ i ].field_identifier,
@@ -331,7 +331,7 @@
                 {
                     if ( header_fields[ i ].field_type == SQL_INTEGER )
                     {
-                        ret == SQLSETDESCFIELD( target_descriptor -> connection,
+                        ret = SQLSETDESCFIELD( target_descriptor -> connection,
                                         target_descriptor -> driver_desc,
                                         0, 
                                         header_fields[ i ].field_identifier,
@@ -340,7 +340,7 @@
                     }
                     else if ( header_fields[ i ].field_type == SQL_SMALLINT )
                     {
-                        ret == SQLSETDESCFIELD( target_descriptor -> connection,
+                        ret = SQLSETDESCFIELD( target_descriptor -> connection,
                                         target_descriptor -> driver_desc,
                                         0, 
                                         header_fields[ i ].field_identifier,
@@ -349,7 +349,7 @@
                     }
                     else if ( header_fields[ i ].field_type == SQL_VARCHAR )
                     {
-                        ret == SQLSETDESCFIELD( target_descriptor -> connection,
+                        ret = SQLSETDESCFIELD( target_descriptor -> connection,
                                         target_descriptor -> driver_desc,
                                         0, 
                                         header_fields[ i ].field_identifier,
@@ -376,7 +376,7 @@
                 {
                     if ( rec_fields[ i ].field_type == SQL_INTEGER )
                     {
-                        ret == SQLGETDESCFIELD( src_descriptor -> connection,
+                        ret = SQLGETDESCFIELD( src_descriptor -> connection,
                                     src_descriptor -> driver_desc,
                                     rec, 
                                     rec_fields[ i ].field_identifier,
@@ -386,7 +386,7 @@
                     }
                     else if ( rec_fields[ i ].field_type == SQL_SMALLINT )
                     {
-                        ret == SQLGETDESCFIELD( src_descriptor -> connection,
+                        ret = SQLGETDESCFIELD( src_descriptor -> connection,
                                     src_descriptor -> driver_desc,
                                     rec, 
                                     rec_fields[ i ].field_identifier,
@@ -396,7 +396,7 @@
                     }
                     if ( rec_fields[ i ].field_type == SQL_VARCHAR )
                     {
-                        ret == SQLGETDESCFIELD( src_descriptor -> connection,
+                        ret = SQLGETDESCFIELD( src_descriptor -> connection,
                                     src_descriptor -> driver_desc,
                                     rec, 
                                     rec_fields[ i ].field_identifier,
@@ -409,7 +409,7 @@
                     {
                         if ( rec_fields[ i ].field_type == SQL_INTEGER )
                         {
-                            ret == SQLSETDESCFIELD( target_descriptor -> connection,
+                            ret = SQLSETDESCFIELD( target_descriptor -> connection,
                                             target_descriptor -> driver_desc,
                                             rec, 
                                             rec_fields[ i ].field_identifier,
@@ -418,7 +418,7 @@
                         }
                         else if ( rec_fields[ i ].field_type == SQL_SMALLINT )
                         {
-                            ret == SQLSETDESCFIELD( target_descriptor -> connection,
+                            ret = SQLSETDESCFIELD( target_descriptor -> connection,
                                             target_descriptor -> driver_desc,
                                             rec, 
                                             rec_fields[ i ].field_identifier,
@@ -427,7 +427,7 @@
                         }
                         else if ( rec_fields[ i ].field_type == SQL_VARCHAR )
                         {
-                            ret == SQLSETDESCFIELD( target_descriptor -> connection,
+                            ret = SQLSETDESCFIELD( target_descriptor -> connection,
                                             target_descriptor -> driver_desc,
                                             rec, 
                                             rec_fields[ i ].field_identifier,
diff -Naur unixODBC-2.2.14.orig/DriverManager/SQLDriverConnect.c unixODBC-2.2.14/DriverManager/SQLDriverConnect.c
--- unixODBC-2.2.14.orig/DriverManager/SQLDriverConnect.c	2008-09-29 10:02:44.000000000 -0400
+++ unixODBC-2.2.14/DriverManager/SQLDriverConnect.c	2009-02-15 18:34:44.000000000 -0500
@@ -366,7 +366,8 @@
     memcpy( *keyword, ptr, len );
     (*keyword)[ len ] = '\0';
 
-    (**cp != ';') && (*cp)++;
+    if (**cp != ';')
+      (*cp)++;
     ptr = *cp;
 
     if ( strcmp( *keyword, "DRIVER" ) == 0 )
diff -Naur unixODBC-2.2.14.orig/DriverManager/SQLDriversW.c unixODBC-2.2.14/DriverManager/SQLDriversW.c
--- unixODBC-2.2.14.orig/DriverManager/SQLDriversW.c	2008-09-29 10:02:45.000000000 -0400
+++ unixODBC-2.2.14/DriverManager/SQLDriversW.c	2009-02-15 18:34:44.000000000 -0500
@@ -298,7 +298,7 @@
              * enumerate the driver attributes
              */
 
-            sprintf( szIniName, "%s/odbcinst.ini", odbcinst_system_file_path( b1 ), odbcinst_system_file_name( b2 ));
+            sprintf( szIniName, "%s/odbcinst.ini", odbcinst_system_file_path( b1 ) );
 
 			memset( buffer, '\0', sizeof( buffer ));
 #ifdef __OS2__
diff -Naur unixODBC-2.2.14.orig/DriverManager/SQLGetDiagField.c unixODBC-2.2.14/DriverManager/SQLGetDiagField.c
--- unixODBC-2.2.14.orig/DriverManager/SQLGetDiagField.c	2008-09-29 10:02:45.000000000 -0400
+++ unixODBC-2.2.14/DriverManager/SQLGetDiagField.c	2009-02-15 18:34:44.000000000 -0500
@@ -314,7 +314,7 @@
             else if ( __get_connection( head ) -> unicode_driver &&
                 CHECK_SQLGETDIAGFIELDW( __get_connection( head )))
             {
-                SQLWCHAR *s1;
+                SQLWCHAR *s1 = NULL;
 
                 if ( buffer_length > 0 )
                 {
diff -Naur unixODBC-2.2.14.orig/DriverManager/SQLSetPos.c unixODBC-2.2.14/DriverManager/SQLSetPos.c
--- unixODBC-2.2.14.orig/DriverManager/SQLSetPos.c	2003-10-30 13:20:46.000000000 -0500
+++ unixODBC-2.2.14/DriverManager/SQLSetPos.c	2009-02-15 18:34:44.000000000 -0500
@@ -144,11 +144,11 @@
     {
         sprintf( statement -> msg, "\n\t\tEntry:\
             \n\t\t\tStatement = %p\
-            \n\t\t\tIrow = %d\
+            \n\t\t\tIrow = %ld\
             \n\t\t\tFoption = %d\
             \n\t\t\tFlock = %d",
                 statement,
-                irow,
+                (long) irow,
                 foption,
                 flock );
 
diff -Naur unixODBC-2.2.14.orig/DriverManager/__attribute.c unixODBC-2.2.14/DriverManager/__attribute.c
--- unixODBC-2.2.14.orig/DriverManager/__attribute.c	2008-10-17 05:23:51.000000000 -0400
+++ unixODBC-2.2.14/DriverManager/__attribute.c	2009-02-15 18:34:44.000000000 -0500
@@ -1227,6 +1227,7 @@
 
       default:
         as = NULL;
+        msg = NULL;
         break;
     }
 
@@ -1288,6 +1289,7 @@
 
       default:
         as = NULL;
+        msg = NULL;
         break;
     }
 
diff -Naur unixODBC-2.2.14.orig/DriverManager/__info.c unixODBC-2.2.14/DriverManager/__info.c
--- unixODBC-2.2.14.orig/DriverManager/__info.c	2008-09-29 10:02:45.000000000 -0400
+++ unixODBC-2.2.14/DriverManager/__info.c	2009-02-15 18:34:44.000000000 -0500
@@ -3062,13 +3062,13 @@
     {
         if ( strlen((char*) instr ) > LOG_MESSAGE_LEN )
         {
-            sprintf((char*) ostr, "[%.*s...][length = %d (SQL_NTS)]",
-                LOG_MESSAGE_LEN, instr, strlen((char*) instr ));
+            sprintf((char*) ostr, "[%.*s...][length = %ld (SQL_NTS)]",
+                LOG_MESSAGE_LEN, instr, (long) strlen((char*) instr ));
         }
         else
         {
-            sprintf((char*) ostr, "[%s][length = %d (SQL_NTS)]",
-                instr, strlen((char*) instr ));
+            sprintf((char*) ostr, "[%s][length = %ld (SQL_NTS)]",
+                instr, (long) strlen((char*) instr ));
         }
 
     }
diff -Naur unixODBC-2.2.14.orig/Drivers/Postgre7.1/dlg_specific.c unixODBC-2.2.14/Drivers/Postgre7.1/dlg_specific.c
--- unixODBC-2.2.14.orig/Drivers/Postgre7.1/dlg_specific.c	2001-12-04 11:46:19.000000000 -0500
+++ unixODBC-2.2.14/Drivers/Postgre7.1/dlg_specific.c	2009-02-15 18:34:43.000000000 -0500
@@ -21,10 +21,11 @@
 #endif
 
 #ifndef WIN32
+# include <string.h>
+# include <ctype.h>
 # ifdef UNIXODBC
 #  include <odbcinst.h>
 # else
-#  include <string.h>
 #  include "gpps.h"
 #  define SQLGetPrivateProfileString(a,b,c,d,e,f) GetPrivateProfileString(a,b,c,d,e,f)
 #  define SQLWritePrivateProfileString(a,b,c,d) WritePrivateProfileString(a,b,c,d)
diff -Naur unixODBC-2.2.14.orig/Drivers/Postgre7.1/options.c unixODBC-2.2.14/Drivers/Postgre7.1/options.c
--- unixODBC-2.2.14.orig/Drivers/Postgre7.1/options.c	2005-09-12 09:09:41.000000000 -0400
+++ unixODBC-2.2.14/Drivers/Postgre7.1/options.c	2009-02-15 18:34:43.000000000 -0500
@@ -221,12 +221,12 @@
 
 		if (stmt) {
 			SC_set_error(stmt, STMT_NOT_IMPLEMENTED_ERROR, "Unknown statement option (Set)");
-			sprintf(option, "fOption=%d, vParam=%ld", fOption, vParam);
+			sprintf(option, "fOption=%d, vParam=%ld", fOption, (long) vParam);
 			SC_log_error(func, option, stmt);
 		}
 		if (conn) {
 			CC_set_error(conn, STMT_NOT_IMPLEMENTED_ERROR, "Unknown statement option (Set)");
-			sprintf(option, "fOption=%d, vParam=%ld", fOption, vParam);
+			sprintf(option, "fOption=%d, vParam=%ld", fOption, (long) vParam);
 			CC_log_error(func, option, conn);
 		}
 
diff -Naur unixODBC-2.2.14.orig/Drivers/Postgre7.1/socket.c unixODBC-2.2.14/Drivers/Postgre7.1/socket.c
--- unixODBC-2.2.14.orig/Drivers/Postgre7.1/socket.c	2004-09-22 05:13:39.000000000 -0400
+++ unixODBC-2.2.14/Drivers/Postgre7.1/socket.c	2009-02-15 18:34:43.000000000 -0500
@@ -188,7 +188,7 @@
 /*
  * cope with different path for debian distrib
  */
-
+int
 SOCK_connect_to_unix(SocketClass *self, unsigned short port, char *path )
     {
     if ( strlen( path ) > 0 )
diff -Naur unixODBC-2.2.14.orig/Drivers/Postgre7.1/tuple.c unixODBC-2.2.14/Drivers/Postgre7.1/tuple.c
--- unixODBC-2.2.14.orig/Drivers/Postgre7.1/tuple.c	2001-10-17 12:40:10.000000000 -0400
+++ unixODBC-2.2.14/Drivers/Postgre7.1/tuple.c	2009-02-15 18:34:43.000000000 -0500
@@ -49,7 +49,7 @@
 {
 char buffer[15];
 
-	sprintf(buffer,"%ld", value);
+	sprintf(buffer,"%ld", (long) value);
 
 	tuple_field->len = strlen(buffer)+1;
 	/* +1 ... is this correct (better be on the save side-...) */
diff -Naur unixODBC-2.2.14.orig/Drivers/PostgreSQL/options.c unixODBC-2.2.14/Drivers/PostgreSQL/options.c
--- unixODBC-2.2.14.orig/Drivers/PostgreSQL/options.c	2005-09-12 09:09:41.000000000 -0400
+++ unixODBC-2.2.14/Drivers/PostgreSQL/options.c	2009-02-15 18:34:43.000000000 -0500
@@ -232,13 +232,13 @@
 		if (stmt) {
 			stmt->errornumber = STMT_NOT_IMPLEMENTED_ERROR;
 			stmt->errormsg = "Unknown statement option (Set)";
-			sprintf(option, "fOption=%d, vParam=%ld", fOption, vParam);
+			sprintf(option, "fOption=%d, vParam=%ld", fOption, (long) vParam);
 			SC_log_error(func, option, stmt);
 		}
 		if (conn) {
 			conn->errornumber = STMT_NOT_IMPLEMENTED_ERROR;
 			conn->errormsg = "Unknown statement option (Set)";
-			sprintf(option, "fOption=%d, vParam=%ld", fOption, vParam);
+			sprintf(option, "fOption=%d, vParam=%ld", fOption, (long) vParam);
 			CC_log_error(func, option, conn);
 		}
 
diff -Naur unixODBC-2.2.14.orig/Drivers/PostgreSQL/socket.c unixODBC-2.2.14/Drivers/PostgreSQL/socket.c
--- unixODBC-2.2.14.orig/Drivers/PostgreSQL/socket.c	2003-02-18 13:46:49.000000000 -0500
+++ unixODBC-2.2.14/Drivers/PostgreSQL/socket.c	2009-02-15 18:34:43.000000000 -0500
@@ -191,7 +191,7 @@
 /*
  * cope with different path for debian distrib
  */
-
+int
 SOCK_connect_to_unix(SocketClass *self, unsigned short port, char *path )
     {
     if ( strlen( path ) > 0 )
diff -Naur unixODBC-2.2.14.orig/Drivers/PostgreSQL/tuple.c unixODBC-2.2.14/Drivers/PostgreSQL/tuple.c
--- unixODBC-2.2.14.orig/Drivers/PostgreSQL/tuple.c	2001-10-17 12:40:11.000000000 -0400
+++ unixODBC-2.2.14/Drivers/PostgreSQL/tuple.c	2009-02-15 18:34:43.000000000 -0500
@@ -49,7 +49,7 @@
 {
 char buffer[15];
 
-	sprintf(buffer,"%ld", value);
+	sprintf(buffer,"%ld", (long) value);
 
 	tuple_field->len = strlen(buffer)+1;
 	/* +1 ... is this correct (better be on the save side-...) */
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLAllocConnect.c unixODBC-2.2.14/Drivers/template/SQLAllocConnect.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLAllocConnect.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLAllocConnect.c	2009-02-15 18:34:44.000000000 -0500
@@ -26,7 +26,7 @@
     if( SQL_NULL_HENV == hEnv )
         return SQL_INVALID_HANDLE;
 
-    sprintf((char*) hEnv->szSqlMsg, "hEnv = $%08lX phDbc = $%08lX",	hEnv, phDbc );
+    sprintf((char*) hEnv->szSqlMsg, "hEnv = $%08lX phDbc = $%08lX",	(long) hEnv, (long) phDbc );
     logPushMsg( hEnv->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hEnv->szSqlMsg );
 
     if( SQL_NULL_HDBC == phDbc )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLAllocStmt.c unixODBC-2.2.14/Drivers/template/SQLAllocStmt.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLAllocStmt.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLAllocStmt.c	2009-02-15 18:34:44.000000000 -0500
@@ -25,7 +25,7 @@
         return SQL_INVALID_HANDLE;
     }
 
-	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", hDbc );
+	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", (long) hDbc );
     logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hDbc->szSqlMsg );
 
     if( NULL == phStmt )
@@ -45,7 +45,7 @@
     }
 
     /* initialize memory */
-	sprintf((char*) hDbc->szSqlMsg, "*phstmt = $%08lX", *phStmt );
+	sprintf((char*) hDbc->szSqlMsg, "*phstmt = $%08lX", (long) *phStmt );
     logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hDbc->szSqlMsg );
 
 	memset( *phStmt, 0, sizeof(DRVSTMT) );	/* SAFETY */
@@ -55,7 +55,7 @@
     (*phStmt)->pNext		= NULL;
     (*phStmt)->pPrev		= NULL;
     (*phStmt)->pszQuery		= NULL;
-    sprintf((char*)(*phStmt)->szCursorName, "CUR_%08lX", *phStmt );
+    sprintf((char*)(*phStmt)->szCursorName, "CUR_%08lX", (long) *phStmt );
 
 	/* ADD TO DBCs STATEMENT LIST */
 	
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLBindCol.c unixODBC-2.2.14/Drivers/template/SQLBindCol.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLBindCol.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLBindCol.c	2009-02-15 18:34:44.000000000 -0500
@@ -26,7 +26,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt=$%08lX nCol=%5d", hStmt, nCol );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt=$%08lX nCol=%5d", (long) hStmt, nCol );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_INFO, LOG_INFO,(char*) hStmt->szSqlMsg );
 
 	if ( hStmt->hStmtExtras->nRows == 0 )
@@ -37,7 +37,7 @@
 
 	if ( nCol < 1 || nCol > hStmt->hStmtExtras->nCols )
 	{
-		sprintf((char*) hStmt->szSqlMsg, "SQL_ERROR Column %d is out of range. Range is 1 - %s", nCol, hStmt->hStmtExtras->nCols );
+		sprintf((char*) hStmt->szSqlMsg, "SQL_ERROR Column %d is out of range. Range is 1 - %d", nCol, hStmt->hStmtExtras->nCols );
 		logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 		return SQL_ERROR;
 	}
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLBindParameter.c unixODBC-2.2.14/Drivers/template/SQLBindParameter.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLBindParameter.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLBindParameter.c	2009-02-15 18:34:43.000000000 -0500
@@ -30,7 +30,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt=$%08lX nParameterNumber=%d nIOType=%d nBufferType=%d nParamType=%d nParamLength=%d nScale=%d pData=$%08lX nBufferLength=%d *pnLengthOrIndicator=$%08lX",hStmt,nParameterNumber,nIOType,nBufferType,nParamType,nParamLength,nScale,pData,nBufferLength, *pnLengthOrIndicator );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt=$%08lX nParameterNumber=%d nIOType=%d nBufferType=%d nParamType=%d nParamLength=%ld nScale=%d pData=$%08lX nBufferLength=%ld *pnLengthOrIndicator=$%08lX",(long) hStmt,nParameterNumber,nIOType,nBufferType,nParamType,(long) nParamLength,nScale,(long) pData,(long) nBufferLength, *pnLengthOrIndicator );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLBrowseConnect.c unixODBC-2.2.14/Drivers/template/SQLBrowseConnect.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLBrowseConnect.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLBrowseConnect.c	2009-02-15 18:34:44.000000000 -0500
@@ -26,7 +26,7 @@
 	if ( hDbc == NULL )
 		return SQL_INVALID_HANDLE;
 	
-	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", hDbc );
+	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", (long) hDbc );
     logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hDbc->szSqlMsg );
 
 	logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING, "SQL_ERROR This function not currently supported" );
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLBulkOperations.c unixODBC-2.2.14/Drivers/template/SQLBulkOperations.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLBulkOperations.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLBulkOperations.c	2009-02-15 18:34:44.000000000 -0500
@@ -21,7 +21,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /* OK */
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLCancel.c unixODBC-2.2.14/Drivers/template/SQLCancel.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLCancel.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLCancel.c	2009-02-15 18:34:44.000000000 -0500
@@ -20,7 +20,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLCloseCursor.c unixODBC-2.2.14/Drivers/template/SQLCloseCursor.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLCloseCursor.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLCloseCursor.c	2009-02-15 18:34:44.000000000 -0500
@@ -20,7 +20,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-    sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+    sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 	/************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLColAttributes.c unixODBC-2.2.14/Drivers/template/SQLColAttributes.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLColAttributes.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLColAttributes.c	2009-02-15 18:34:44.000000000 -0500
@@ -27,7 +27,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /**************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLColumnPrivileges.c unixODBC-2.2.14/Drivers/template/SQLColumnPrivileges.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLColumnPrivileges.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLColumnPrivileges.c	2009-02-15 18:34:44.000000000 -0500
@@ -28,7 +28,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLColumns.c unixODBC-2.2.14/Drivers/template/SQLColumns.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLColumns.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLColumns.c	2009-02-15 18:34:44.000000000 -0500
@@ -76,7 +76,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 	if ( szTableName == NULL || szTableName[0] == '\0' )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLConnect.c unixODBC-2.2.14/Drivers/template/SQLConnect.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLConnect.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLConnect.c	2009-02-15 18:34:44.000000000 -0500
@@ -31,7 +31,7 @@
     if( SQL_NULL_HDBC == hDbc )
 		return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hDbc->szSqlMsg, "hDbc=$%08lX 3zDataSource=(%s)", hDbc, szDataSource );
+	sprintf((char*) hDbc->szSqlMsg, "hDbc=$%08lX 3zDataSource=(%s)", (long) hDbc, szDataSource );
 	logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hDbc->szSqlMsg );
 
     if( hDbc->bConnected == 1 )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLDescribeCol.c unixODBC-2.2.14/Drivers/template/SQLDescribeCol.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLDescribeCol.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLDescribeCol.c	2009-02-15 18:34:44.000000000 -0500
@@ -38,7 +38,7 @@
 	}
 	if ( nCol < 1 || nCol > hStmt->hStmtExtras->nCols )
 	{
-		sprintf((char*) hStmt->szSqlMsg, "SQL_ERROR Column %d is out of range. Range is 1 - %s", nCol, hStmt->hStmtExtras->nCols );
+		sprintf((char*) hStmt->szSqlMsg, "SQL_ERROR Column %d is out of range. Range is 1 - %d", nCol, hStmt->hStmtExtras->nCols );
 		logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 		return SQL_ERROR;
 	}
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLDescribeParam.c unixODBC-2.2.14/Drivers/template/SQLDescribeParam.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLDescribeParam.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLDescribeParam.c	2009-02-15 18:34:44.000000000 -0500
@@ -33,7 +33,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLDisconnect.c unixODBC-2.2.14/Drivers/template/SQLDisconnect.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLDisconnect.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLDisconnect.c	2009-02-15 18:34:44.000000000 -0500
@@ -20,7 +20,7 @@
     if( NULL == hDbc )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", hDbc );
+	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", (long) hDbc );
     logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING, (char*)hDbc->szSqlMsg );
 
     if( hDbc->bConnected == 0 )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLDriverConnect.c unixODBC-2.2.14/Drivers/template/SQLDriverConnect.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLDriverConnect.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLDriverConnect.c	2009-02-15 18:34:43.000000000 -0500
@@ -41,7 +41,7 @@
     if( NULL == hDbc )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", hDbc );
+	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", (long) hDbc );
     logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hDbc->szSqlMsg );
 
 
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLExecDirect.c unixODBC-2.2.14/Drivers/template/SQLExecDirect.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLExecDirect.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLExecDirect.c	2009-02-15 18:34:44.000000000 -0500
@@ -23,7 +23,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 	/* prepare command */
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLExecute.c unixODBC-2.2.14/Drivers/template/SQLExecute.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLExecute.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLExecute.c	2009-02-15 18:34:43.000000000 -0500
@@ -24,7 +24,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     if( hStmt->pszQuery == NULL )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLExtendedFetch.c unixODBC-2.2.14/Drivers/template/SQLExtendedFetch.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLExtendedFetch.c	2007-11-29 07:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLExtendedFetch.c	2009-02-15 18:34:44.000000000 -0500
@@ -24,7 +24,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLFetch.c unixODBC-2.2.14/Drivers/template/SQLFetch.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLFetch.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLFetch.c	2009-02-15 18:34:44.000000000 -0500
@@ -22,7 +22,7 @@
 	if ( NULL == hStmt )
 		return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
 	logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 	if ( hStmt->hStmtExtras->nRows < 1 )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLFetchScroll.c unixODBC-2.2.14/Drivers/template/SQLFetchScroll.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLFetchScroll.c	2007-11-29 07:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLFetchScroll.c	2009-02-15 18:34:44.000000000 -0500
@@ -22,7 +22,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLForeignKeys.c unixODBC-2.2.14/Drivers/template/SQLForeignKeys.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLForeignKeys.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLForeignKeys.c	2009-02-15 18:34:43.000000000 -0500
@@ -32,7 +32,7 @@
     if( NULL == hStmt )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLFreeConnect.c unixODBC-2.2.14/Drivers/template/SQLFreeConnect.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLFreeConnect.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLFreeConnect.c	2009-02-15 18:34:44.000000000 -0500
@@ -24,7 +24,7 @@
     if( NULL == hDbc )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", hDbc );
+	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", (long) hDbc );
     logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING, (char*)hDbc->szSqlMsg );
 
     if( hDbc->bConnected )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLFreeEnv.c unixODBC-2.2.14/Drivers/template/SQLFreeEnv.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLFreeEnv.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLFreeEnv.c	2009-02-15 18:34:44.000000000 -0500
@@ -23,7 +23,7 @@
     if( hEnv == SQL_NULL_HENV )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hEnv->szSqlMsg, "hEnv = $%08lX", hEnv );
+	sprintf((char*) hEnv->szSqlMsg, "hEnv = $%08lX", (long) hEnv );
     logPushMsg( hEnv->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hEnv->szSqlMsg );
 
 	if ( hEnv->hFirstDbc != NULL )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLFreeStmt.c unixODBC-2.2.14/Drivers/template/SQLFreeStmt.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLFreeStmt.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLFreeStmt.c	2009-02-15 18:34:44.000000000 -0500
@@ -21,7 +21,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /*********
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLGetConnectAttr.c unixODBC-2.2.14/Drivers/template/SQLGetConnectAttr.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLGetConnectAttr.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLGetConnectAttr.c	2009-02-15 18:34:43.000000000 -0500
@@ -26,7 +26,7 @@
     if( NULL == hDbc )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", hDbc );
+	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", (long) hDbc );
     logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hDbc->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLGetConnectOption.c unixODBC-2.2.14/Drivers/template/SQLGetConnectOption.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLGetConnectOption.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLGetConnectOption.c	2009-02-15 18:34:44.000000000 -0500
@@ -22,7 +22,7 @@
     if( NULL == hDbc )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", hDbc );
+	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", (long) hDbc );
     logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hDbc->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLGetCursorName.c unixODBC-2.2.14/Drivers/template/SQLGetCursorName.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLGetCursorName.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLGetCursorName.c	2009-02-15 18:34:44.000000000 -0500
@@ -25,7 +25,7 @@
 	if ( NULL == hStmt )
 		return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
 	logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 	
 	if ( NULL == szCursor )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLGetStmtAttr.c unixODBC-2.2.14/Drivers/template/SQLGetStmtAttr.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLGetStmtAttr.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLGetStmtAttr.c	2009-02-15 18:34:44.000000000 -0500
@@ -25,7 +25,7 @@
 	if ( NULL == hStmt )
 		return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
 	logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLGetStmtOption.c unixODBC-2.2.14/Drivers/template/SQLGetStmtOption.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLGetStmtOption.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLGetStmtOption.c	2009-02-15 18:34:44.000000000 -0500
@@ -22,7 +22,7 @@
 	if ( NULL == hStmt )
 		return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
 	logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLGetTypeInfo.c unixODBC-2.2.14/Drivers/template/SQLGetTypeInfo.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLGetTypeInfo.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLGetTypeInfo.c	2009-02-15 18:34:44.000000000 -0500
@@ -21,7 +21,7 @@
 	if ( NULL == hStmt )
 		return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
 	logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLMoreResults.c unixODBC-2.2.14/Drivers/template/SQLMoreResults.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLMoreResults.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLMoreResults.c	2009-02-15 18:34:44.000000000 -0500
@@ -20,7 +20,7 @@
 	if ( NULL == hStmt )
 		return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
 	logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLNativeSql.c unixODBC-2.2.14/Drivers/template/SQLNativeSql.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLNativeSql.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLNativeSql.c	2009-02-15 18:34:44.000000000 -0500
@@ -25,7 +25,7 @@
 	if ( NULL == hStmt )
 		return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
 	logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLNumParams.c unixODBC-2.2.14/Drivers/template/SQLNumParams.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLNumParams.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLNumParams.c	2009-02-15 18:34:44.000000000 -0500
@@ -21,7 +21,7 @@
 	if ( NULL == hStmt )
 		return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
 	logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLNumResultCols.c unixODBC-2.2.14/Drivers/template/SQLNumResultCols.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLNumResultCols.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLNumResultCols.c	2009-02-15 18:34:44.000000000 -0500
@@ -21,7 +21,7 @@
 	if ( NULL == hStmt )
 		return SQL_INVALID_HANDLE;
 	
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
 	logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 	if ( hStmt->hStmtExtras->nRows < 1 )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLParamData.c unixODBC-2.2.14/Drivers/template/SQLParamData.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLParamData.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLParamData.c	2009-02-15 18:34:43.000000000 -0500
@@ -21,7 +21,7 @@
 	if ( NULL == hStmt )
 		return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
 	logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLParamOptions.c unixODBC-2.2.14/Drivers/template/SQLParamOptions.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLParamOptions.c	2007-02-12 06:49:35.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLParamOptions.c	2009-02-15 18:34:44.000000000 -0500
@@ -22,7 +22,7 @@
 	if ( NULL == hStmt )
 		return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
 	logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLPrepare.c unixODBC-2.2.14/Drivers/template/SQLPrepare.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLPrepare.c	2001-12-13 08:00:32.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLPrepare.c	2009-02-15 18:34:43.000000000 -0500
@@ -22,7 +22,7 @@
 	if ( NULL == hStmt )
 		return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
 	logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 	if ( szSqlStr == NULL )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLPrimaryKeys.c unixODBC-2.2.14/Drivers/template/SQLPrimaryKeys.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLPrimaryKeys.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLPrimaryKeys.c	2009-02-15 18:34:44.000000000 -0500
@@ -26,7 +26,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLProcedureColumns.c unixODBC-2.2.14/Drivers/template/SQLProcedureColumns.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLProcedureColumns.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLProcedureColumns.c	2009-02-15 18:34:44.000000000 -0500
@@ -29,7 +29,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLProcedures.c unixODBC-2.2.14/Drivers/template/SQLProcedures.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLProcedures.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLProcedures.c	2009-02-15 18:34:44.000000000 -0500
@@ -27,7 +27,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLPutData.c unixODBC-2.2.14/Drivers/template/SQLPutData.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLPutData.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLPutData.c	2009-02-15 18:34:44.000000000 -0500
@@ -25,7 +25,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLRowCount.c unixODBC-2.2.14/Drivers/template/SQLRowCount.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLRowCount.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLRowCount.c	2009-02-15 18:34:44.000000000 -0500
@@ -21,7 +21,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 	if ( NULL == pnRowCount )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLSetCursorName.c unixODBC-2.2.14/Drivers/template/SQLSetCursorName.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLSetCursorName.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLSetCursorName.c	2009-02-15 18:34:44.000000000 -0500
@@ -22,7 +22,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 	if ( NULL == szCursor || 0 == isalpha(*szCursor) )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLSetParam.c unixODBC-2.2.14/Drivers/template/SQLSetParam.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLSetParam.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLSetParam.c	2009-02-15 18:34:44.000000000 -0500
@@ -24,7 +24,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 	if ( NULL == hStmt->pszQuery )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLSetPos.c unixODBC-2.2.14/Drivers/template/SQLSetPos.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLSetPos.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLSetPos.c	2009-02-15 18:34:44.000000000 -0500
@@ -23,7 +23,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 	/* OK */
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLSetScrollOptions.c unixODBC-2.2.14/Drivers/template/SQLSetScrollOptions.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLSetScrollOptions.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLSetScrollOptions.c	2009-02-15 18:34:44.000000000 -0500
@@ -24,7 +24,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLSetStmtAttr.c unixODBC-2.2.14/Drivers/template/SQLSetStmtAttr.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLSetStmtAttr.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLSetStmtAttr.c	2009-02-15 18:34:44.000000000 -0500
@@ -24,7 +24,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLSetStmtOption.c unixODBC-2.2.14/Drivers/template/SQLSetStmtOption.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLSetStmtOption.c	2007-11-29 07:00:36.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLSetStmtOption.c	2009-02-15 18:34:44.000000000 -0500
@@ -22,7 +22,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLSpecialColumns.c unixODBC-2.2.14/Drivers/template/SQLSpecialColumns.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLSpecialColumns.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLSpecialColumns.c	2009-02-15 18:34:44.000000000 -0500
@@ -41,7 +41,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLStatistics.c unixODBC-2.2.14/Drivers/template/SQLStatistics.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLStatistics.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLStatistics.c	2009-02-15 18:34:44.000000000 -0500
@@ -62,7 +62,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 	if ( szTableName == NULL )
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLTablePrivileges.c unixODBC-2.2.14/Drivers/template/SQLTablePrivileges.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLTablePrivileges.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLTablePrivileges.c	2009-02-15 18:34:44.000000000 -0500
@@ -26,7 +26,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
 
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLTables.c unixODBC-2.2.14/Drivers/template/SQLTables.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLTables.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLTables.c	2009-02-15 18:34:44.000000000 -0500
@@ -57,7 +57,7 @@
     if( hStmt == SQL_NULL_HSTMT )
         return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", hStmt );
+	sprintf((char*) hStmt->szSqlMsg, "hStmt = $%08lX", (long) hStmt );
     logPushMsg( hStmt->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hStmt->szSqlMsg );
 
     /**************************
diff -Naur unixODBC-2.2.14.orig/Drivers/template/SQLTransact.c unixODBC-2.2.14/Drivers/template/SQLTransact.c
--- unixODBC-2.2.14.orig/Drivers/template/SQLTransact.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/SQLTransact.c	2009-02-15 18:34:44.000000000 -0500
@@ -23,7 +23,7 @@
 	if ( hDbc == SQL_NULL_HDBC )
 		return SQL_INVALID_HANDLE;
 
-	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", hDbc );
+	sprintf((char*) hDbc->szSqlMsg, "hDbc = $%08lX", (long) hDbc );
 	logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING,(char*) hDbc->szSqlMsg );
 
 	
diff -Naur unixODBC-2.2.14.orig/Drivers/template/_GetData.c unixODBC-2.2.14/Drivers/template/_GetData.c
--- unixODBC-2.2.14.orig/Drivers/template/_GetData.c	2001-12-13 08:00:33.000000000 -0500
+++ unixODBC-2.2.14/Drivers/template/_GetData.c	2009-02-15 18:34:44.000000000 -0500
@@ -89,7 +89,7 @@
 			break;
 
 		case SQL_C_FLOAT:
-			sscanf( pSourceData, "%g", pTarget );
+			sscanf( pSourceData, "%g", (float *) pTarget );
 			if ( NULL != pnLengthOrIndicator )
 				*pnLengthOrIndicator = sizeof( float );
 			break;
diff -Naur unixODBC-2.2.14.orig/cur/SQLAllocHandle.c unixODBC-2.2.14/cur/SQLAllocHandle.c
--- unixODBC-2.2.14.orig/cur/SQLAllocHandle.c	2005-07-08 08:11:23.000000000 -0400
+++ unixODBC-2.2.14/cur/SQLAllocHandle.c	2009-02-15 18:34:44.000000000 -0500
@@ -148,4 +148,6 @@
            }
            break;
     }
+
+    return SQL_ERROR;
 }
diff -Naur unixODBC-2.2.14.orig/cur/SQLEndTran.c unixODBC-2.2.14/cur/SQLEndTran.c
--- unixODBC-2.2.14.orig/cur/SQLEndTran.c	2001-10-17 12:40:15.000000000 -0400
+++ unixODBC-2.2.14/cur/SQLEndTran.c	2009-02-15 18:34:44.000000000 -0500
@@ -54,6 +54,7 @@
         /*
          * the driver manager will not call this
          */
+        return SQL_ERROR;
         break;
 
       case SQL_HANDLE_DBC:
diff -Naur unixODBC-2.2.14.orig/cur/SQLError.c unixODBC-2.2.14/cur/SQLError.c
--- unixODBC-2.2.14.orig/cur/SQLError.c	2008-01-02 10:10:33.000000000 -0500
+++ unixODBC-2.2.14/cur/SQLError.c	2009-02-15 18:34:44.000000000 -0500
@@ -160,4 +160,6 @@
 
         return SQL_NO_DATA;
     }
+
+    return SQL_ERROR;
 }
diff -Naur unixODBC-2.2.14.orig/cur/SQLExtendedFetch.c unixODBC-2.2.14/cur/SQLExtendedFetch.c
--- unixODBC-2.2.14.orig/cur/SQLExtendedFetch.c	2008-01-22 12:51:54.000000000 -0500
+++ unixODBC-2.2.14/cur/SQLExtendedFetch.c	2009-02-15 18:34:44.000000000 -0500
@@ -612,7 +612,7 @@
         }
 		else if ( ret == SQL_FETCH_PART_ROWSET ) 
 		{
-        	cl_statement -> rowset_position == CL_AFTER_END;
+        	cl_statement -> rowset_position = CL_AFTER_END;
 			ret = SQL_SUCCESS;
 		}
         break;
diff -Naur unixODBC-2.2.14.orig/cur/SQLFreeHandle.c unixODBC-2.2.14/cur/SQLFreeHandle.c
--- unixODBC-2.2.14.orig/cur/SQLFreeHandle.c	2004-07-24 13:55:38.000000000 -0400
+++ unixODBC-2.2.14/cur/SQLFreeHandle.c	2009-02-15 18:34:44.000000000 -0500
@@ -122,5 +122,7 @@
          */
         return SQL_ERROR;
     }
+
+    return SQL_ERROR;
 }
 
diff -Naur unixODBC-2.2.14.orig/cur/SQLGetStmtAttr.c unixODBC-2.2.14/cur/SQLGetStmtAttr.c
--- unixODBC-2.2.14.orig/cur/SQLGetStmtAttr.c	2005-10-27 13:54:49.000000000 -0400
+++ unixODBC-2.2.14/cur/SQLGetStmtAttr.c	2009-02-15 18:34:44.000000000 -0500
@@ -110,7 +110,7 @@
         break;
 
       case SQL_ATTR_ROWS_FETCHED_PTR:
-        *(( SQLUINTEGER ** ) value ) = cl_statement -> rows_fetched_ptr;
+        *(( SQLULEN ** ) value ) = cl_statement -> rows_fetched_ptr;
         break;
 
       case SQL_ATTR_FETCH_BOOKMARK_PTR:
diff -Naur unixODBC-2.2.14.orig/cur/SQLGetStmtOption.c unixODBC-2.2.14/cur/SQLGetStmtOption.c
--- unixODBC-2.2.14.orig/cur/SQLGetStmtOption.c	2005-10-27 13:54:49.000000000 -0400
+++ unixODBC-2.2.14/cur/SQLGetStmtOption.c	2009-02-15 18:34:44.000000000 -0500
@@ -100,7 +100,7 @@
         break;
 
       case SQL_ATTR_ROWS_FETCHED_PTR:
-        *(( SQLUINTEGER ** ) value ) = cl_statement -> rows_fetched_ptr;
+        *(( SQLULEN ** ) value ) = cl_statement -> rows_fetched_ptr;
         break;
 
       case SQL_ATTR_USE_BOOKMARKS:
diff -Naur unixODBC-2.2.14.orig/cur/SQLSetStmtAttr.c unixODBC-2.2.14/cur/SQLSetStmtAttr.c
--- unixODBC-2.2.14.orig/cur/SQLSetStmtAttr.c	2005-10-27 13:54:49.000000000 -0400
+++ unixODBC-2.2.14/cur/SQLSetStmtAttr.c	2009-02-15 18:34:44.000000000 -0500
@@ -142,7 +142,7 @@
         break;
 
       case SQL_ATTR_ROWS_FETCHED_PTR:
-        cl_statement -> rows_fetched_ptr = ( SQLUINTEGER * ) value;
+        cl_statement -> rows_fetched_ptr = ( SQLULEN * ) value;
         break;
 
       case SQL_ATTR_SIMULATE_CURSOR:
diff -Naur unixODBC-2.2.14.orig/cur/SQLSetStmtOption.c unixODBC-2.2.14/cur/SQLSetStmtOption.c
--- unixODBC-2.2.14.orig/cur/SQLSetStmtOption.c	2005-10-27 13:54:49.000000000 -0400
+++ unixODBC-2.2.14/cur/SQLSetStmtOption.c	2009-02-15 18:34:44.000000000 -0500
@@ -145,7 +145,7 @@
         break;
 
       case SQL_ATTR_ROWS_FETCHED_PTR:
-        cl_statement -> rows_fetched_ptr = ( SQLUINTEGER * ) value;
+        cl_statement -> rows_fetched_ptr = ( SQLULEN * ) value;
         break;
 
       case SQL_ATTR_USE_BOOKMARKS:
diff -Naur unixODBC-2.2.14.orig/cur/cursorlibrary.h unixODBC-2.2.14/cur/cursorlibrary.h
--- unixODBC-2.2.14.orig/cur/cursorlibrary.h	2007-11-29 07:00:36.000000000 -0500
+++ unixODBC-2.2.14/cur/cursorlibrary.h	2009-02-15 18:34:44.000000000 -0500
@@ -75,7 +75,7 @@
     SQLUINTEGER         rowset_size;
     SQLUINTEGER         simulate_cursor;
     SQLUINTEGER         use_bookmarks;
-    SQLUINTEGER         *rows_fetched_ptr;
+    SQLULEN            *rows_fetched_ptr;
     SQLUSMALLINT        *row_status_ptr;
     SQLCHAR             cursor_name[ MAX_CURSOR_NAME + 1 ];
     CLBCOL              *bound_columns;
diff -Naur unixODBC-2.2.14.orig/exe/isql.c unixODBC-2.2.14/exe/isql.c
--- unixODBC-2.2.14.orig/exe/isql.c	2008-06-16 07:03:43.000000000 -0400
+++ unixODBC-2.2.14/exe/isql.c	2009-02-15 18:34:43.000000000 -0500
@@ -1450,11 +1450,11 @@
     printf( (char*)szSepLine );
 
     SQLRowCount( hStmt, &nRowsAffected );
-    printf( "SQLRowCount returns %d\n", nRowsAffected );
+    printf( "SQLRowCount returns %ld\n", (long) nRowsAffected );
 
     if ( nRows )
     {
-        printf( "%d rows fetched\n", nRows );
+        printf( "%ld rows fetched\n", (long) nRows );
     }
 }
 
diff -Naur unixODBC-2.2.14.orig/exe/iusql.c unixODBC-2.2.14/exe/iusql.c
--- unixODBC-2.2.14.orig/exe/iusql.c	2008-09-01 11:10:40.000000000 -0400
+++ unixODBC-2.2.14/exe/iusql.c	2009-02-15 18:34:43.000000000 -0500
@@ -742,7 +742,7 @@
         strcat((char*) szSepLine,(char*) szColumn );
 
         /* HDR */
-        sprintf((char*) szColumn, "| %-*s", max( nMaxLength, strlen((char*)szColumnName) ), (char*)szColumnName );
+        sprintf((char*) szColumn, "| %-*s", (int) max( nMaxLength, strlen((char*)szColumnName) ), (char*)szColumnName );
         strcat((char*) szHdrLine,(char*) szColumn );
     }
     strcat((char*) szSepLine, "+\n" );
@@ -817,7 +817,7 @@
             }
             else
             {
-                sprintf((char*)  szColumn, "| %-*s", max( nMaxLength, strlen((char*) szColumnName) ), "" );
+                sprintf((char*)  szColumn, "| %-*s", (int) max( nMaxLength, strlen((char*) szColumnName) ), "" );
             }
             fputs((char*)  szColumn, stdout );
         }
@@ -841,11 +841,11 @@
     printf( (char*)szSepLine );
 
     SQLRowCount( hStmt, &nRowsAffected );
-    printf( "SQLRowCount returns %d\n", nRowsAffected );
+    printf( "SQLRowCount returns %ld\n", (long) nRowsAffected );
 
     if ( nRows )
     {
-        printf( "%d rows fetched\n", nRows );
+        printf( "%ld rows fetched\n", (long) nRows );
     }
 }
 
diff -Naur unixODBC-2.2.14.orig/exe/odbc-config.c unixODBC-2.2.14/exe/odbc-config.c
--- unixODBC-2.2.14.orig/exe/odbc-config.c	2008-05-20 08:58:17.000000000 -0400
+++ unixODBC-2.2.14/exe/odbc-config.c	2009-02-15 18:34:43.000000000 -0500
@@ -160,7 +160,7 @@
 
 static void ulen( void )
 {
-	printf( "-DSIZEOF_SQLULEN=%d\n", sizeof( SQLULEN ));
+	printf( "-DSIZEOF_SQLULEN=%d\n", (int) sizeof( SQLULEN ));
 }
 
 int main( int argc, char **argv )
diff -Naur unixODBC-2.2.14.orig/exe/odbcinst.c unixODBC-2.2.14/exe/odbcinst.c
--- unixODBC-2.2.14.orig/exe/odbcinst.c	2008-11-19 10:27:34.000000000 -0500
+++ unixODBC-2.2.14/exe/odbcinst.c	2009-02-15 18:34:43.000000000 -0500
@@ -456,7 +456,7 @@
     printf( "unixODBC " VERSION "\n" );
 
     *szFileName = '\0';
-    sprintf( szFileName, "%s/odbcinst.ini", odbcinst_system_file_path( b1 ), odbcinst_system_file_name( b2 ));
+    sprintf( szFileName, "%s/odbcinst.ini", odbcinst_system_file_path( b1 ) );
     printf( "DRIVERS............: %s\n", szFileName ); 
 
     *szFileName = '\0';
@@ -471,9 +471,9 @@
     _odbcinst_UserINI( szFileName, FALSE );
     printf( "USER DATA SOURCES..: %s\n", szFileName ); 
 
-	printf( "SQLULEN Size.......: %d\n", sizeof( SQLULEN )); 
-	printf( "SQLLEN Size........: %d\n", sizeof( SQLLEN )); 
-	printf( "SQLSETPOSIROW Size.: %d\n", sizeof( SQLSETPOSIROW )); 
+	printf( "SQLULEN Size.......: %d\n", (int) sizeof( SQLULEN )); 
+	printf( "SQLLEN Size........: %d\n", (int) sizeof( SQLLEN )); 
+	printf( "SQLSETPOSIROW Size.: %d\n", (int) sizeof( SQLSETPOSIROW )); 
 }
 
 int main( int argc, char *argv[] )
diff -Naur unixODBC-2.2.14.orig/extras/snprintf.c unixODBC-2.2.14/extras/snprintf.c
--- unixODBC-2.2.14.orig/extras/snprintf.c	2008-05-13 09:02:28.000000000 -0400
+++ unixODBC-2.2.14/extras/snprintf.c	2009-02-15 18:34:43.000000000 -0500
@@ -533,7 +533,7 @@
   return result;
 }
 
-static LDOUBLE pow10 (int exponent)
+static LDOUBLE mypow10 (int exponent)
 {
   LDOUBLE result = 1;
 
@@ -546,7 +546,7 @@
   return result;
 }
 
-static long round (LDOUBLE value)
+static long myround (LDOUBLE value)
 {
   long intpart;
 
@@ -607,12 +607,12 @@
   /* We "cheat" by converting the fractional part to integer by
    * multiplying by a factor of 10
    */
-  fracpart = round ((pow10 (max)) * (ufvalue - intpart));
+  fracpart = myround ((mypow10 (max)) * (ufvalue - intpart));
 
-  if (fracpart >= pow10 (max))
+  if (fracpart >= mypow10 (max))
   {
     intpart++;
-    fracpart -= pow10 (max);
+    fracpart -= mypow10 (max);
   }
 
 #ifdef DEBUG_SNPRINTF
diff -Naur unixODBC-2.2.14.orig/odbcinst/SQLGetInstalledDrivers.c unixODBC-2.2.14/odbcinst/SQLGetInstalledDrivers.c
--- unixODBC-2.2.14.orig/odbcinst/SQLGetInstalledDrivers.c	2008-09-04 07:08:59.000000000 -0400
+++ unixODBC-2.2.14/odbcinst/SQLGetInstalledDrivers.c	2009-02-15 18:34:44.000000000 -0500
@@ -27,7 +27,7 @@
 #ifdef VMS
     sprintf( szIniName, "%s:%s", odbcinst_system_file_path( b1 ), odbcinst_system_file_name( b2 ) );
 #else
-    sprintf( szIniName, "%s/%d", odbcinst_system_file_path( b1 ), odbcinst_system_file_name( b2 ) );
+    sprintf( szIniName, "%s/%s", odbcinst_system_file_path( b1 ), odbcinst_system_file_name( b2 ) );
 #endif
 
 #ifdef __OS2__
diff -Naur unixODBC-2.2.14.orig/odbcinstQ/CStatDetails.cpp unixODBC-2.2.14/odbcinstQ/CStatDetails.cpp
--- unixODBC-2.2.14.orig/odbcinstQ/CStatDetails.cpp	2008-06-30 09:20:44.000000000 -0400
+++ unixODBC-2.2.14/odbcinstQ/CStatDetails.cpp	2009-02-15 18:34:44.000000000 -0500
@@ -70,11 +70,11 @@
                 nHandles = uodbc_get_stats( hStats, aPIDs[nPID].value.l_value, aHandles, MAXHANDLES );
                 if ( nHandles > 0 )
                 {
-                    qs.sprintf( "%d", aPIDs[nPID].value.l_value );
+                    qs.sprintf( "%ld", aPIDs[nPID].value.l_value );
                     pTable->setText( nPID, 0, qs );
                     for ( nHandle = 0; nHandle < MAXHANDLES; nHandle++ )
                     {
-                        qs.sprintf( "%d", aHandles[nHandle].value.l_value );
+                        qs.sprintf( "%ld", aHandles[nHandle].value.l_value );
                         pTable->setText( nPID, nHandle + 1, qs );
                     }
                 }
diff -Naur unixODBC-2.2.14.orig/odbcinstQ/CStatSummary.cpp unixODBC-2.2.14/odbcinstQ/CStatSummary.cpp
--- unixODBC-2.2.14.orig/odbcinstQ/CStatSummary.cpp	2008-06-30 09:20:44.000000000 -0400
+++ unixODBC-2.2.14/odbcinstQ/CStatSummary.cpp	2009-02-15 18:34:44.000000000 -0500
@@ -95,22 +95,22 @@
             if ( aStats[3].value.l_value > nSliderMax )
                 nSliderMax = aStats[3].value.l_value;
     
-            qs.sprintf( "%d", aStats[0].value.l_value );
+            qs.sprintf( "%ld", aStats[0].value.l_value );
             pEnv->setText( qs );
             pEnvSlider->setMinValue( 0-nSliderMax );
             pEnvSlider->setValue( 0-aStats[0].value.l_value );
             
-            qs.sprintf( "%d", aStats[1].value.l_value );
+            qs.sprintf( "%ld", aStats[1].value.l_value );
             pCon->setText( qs );
             pConSlider->setMinValue( 0-nSliderMax );
             pConSlider->setValue( 0-aStats[1].value.l_value );
     
-            qs.sprintf( "%d", aStats[2].value.l_value );
+            qs.sprintf( "%ld", aStats[2].value.l_value );
             pSta->setText( qs );
             pStaSlider->setMinValue( 0-nSliderMax );
             pStaSlider->setValue( 0-aStats[2].value.l_value );
     
-            qs.sprintf( "%d", aStats[3].value.l_value );
+            qs.sprintf( "%ld", aStats[3].value.l_value );
             pDes->setText( qs );
             pDesSlider->setMinValue( 0-nSliderMax );
             pDesSlider->setValue( 0-aStats[3].value.l_value );
diff -Naur unixODBC-2.2.14.orig/odbctest/attr.cpp unixODBC-2.2.14/odbctest/attr.cpp
--- unixODBC-2.2.14.orig/odbctest/attr.cpp	2007-11-29 07:00:37.000000000 -0500
+++ unixODBC-2.2.14/odbctest/attr.cpp	2009-02-15 18:34:44.000000000 -0500
@@ -1314,47 +1314,47 @@
 		{
 		  case SQL_ATTR_FETCH_BOOKMARK_PTR:
 			vptr = hand-> bookmark_ptr;
-			txt.sprintf( "    Value: %x", vptr );
+			txt.sprintf( "    Value: %p", vptr );
 			break;
 
 		  case SQL_ATTR_PARAM_BIND_OFFSET_PTR:
 			vptr = hand-> param_bind_offset_ptr;
-			txt.sprintf( "    Value: %x", vptr );
+			txt.sprintf( "    Value: %p", vptr );
 			break;
 
 		  case SQL_ATTR_PARAM_OPERATION_PTR:
 			vptr = hand-> param_opt_ptr;
-			txt.sprintf( "    Value: %x", vptr );
+			txt.sprintf( "    Value: %p", vptr );
 			break;
 
 		  case SQL_ATTR_PARAM_STATUS_PTR:
 			vptr = hand-> param_status_ptr;
-			txt.sprintf( "    Value: %x", vptr );
+			txt.sprintf( "    Value: %p", vptr );
 			break;
 
 		  case SQL_ATTR_PARAMS_PROCESSED_PTR:
 			vptr = hand-> params_processed_ptr;
-			txt.sprintf( "    Value: %x", vptr );
+			txt.sprintf( "    Value: %p", vptr );
 			break;
 
 		  case SQL_ATTR_ROW_BIND_OFFSET_PTR:
 			vptr = hand-> row_bind_offset_ptr;
-			txt.sprintf( "    Value: %x", vptr );
+			txt.sprintf( "    Value: %p", vptr );
 			break;
 
 		  case SQL_ATTR_ROW_OPERATION_PTR:
 			vptr = hand-> row_operation_ptr;
-			txt.sprintf( "    Value: %x", vptr );
+			txt.sprintf( "    Value: %p", vptr );
 			break;
 
 		  case SQL_ATTR_ROW_STATUS_PTR:
 			vptr = hand-> row_status_ptr;
-			txt.sprintf( "    Value: %x", vptr );
+			txt.sprintf( "    Value: %p", vptr );
 			break;
 
 		  case SQL_ATTR_ROWS_FETCHED_PTR:
 			vptr = hand-> rows_fetched_ptr;
-			txt.sprintf( "    Value: %x", vptr );
+			txt.sprintf( "    Value: %p", vptr );
 			break;
 		}
 	}
@@ -1735,7 +1735,7 @@
 		{
 			void *ival;
 			memcpy( &ival, buf, sizeof( ival ));
-			txt.sprintf( "    ValuePtr = 0x%08X", ival );
+			txt.sprintf( "    ValuePtr = 0x%08lX", (long) ival );
 			odbctest -> out_win -> insertLineLimited( txt );
 		}
 		else
diff -Naur unixODBC-2.2.14.orig/odbctest/desc.cpp unixODBC-2.2.14/odbctest/desc.cpp
--- unixODBC-2.2.14.orig/odbctest/desc.cpp	2007-02-12 06:49:37.000000000 -0500
+++ unixODBC-2.2.14/odbctest/desc.cpp	2009-02-15 18:34:44.000000000 -0500
@@ -382,7 +382,7 @@
         {
             if ( field_ident_struct[ diag_info -> currentItem() ].data_type == SQL_CHAR )
             {
-                txt.sprintf( "    ValuePtr: %s", buf );
+                txt.sprintf( "    ValuePtr: %s", (char *) buf );
             }
             else if ( field_ident_struct[ diag_info -> currentItem() ].data_type == SQL_IS_POINTER )
             {
@@ -775,7 +775,7 @@
             }
             else
             {
-                txt.sprintf( "    *LengthPtr: %d", length_val );
+                txt.sprintf( "    *LengthPtr: %ld", (long) length_val );
             }
             odbctest -> out_win -> insertLineLimited( txt );
         }
diff -Naur unixODBC-2.2.14.orig/odbctest/env.cpp unixODBC-2.2.14/odbctest/env.cpp
--- unixODBC-2.2.14.orig/odbctest/env.cpp	2007-02-12 06:49:37.000000000 -0500
+++ unixODBC-2.2.14/odbctest/env.cpp	2009-02-15 18:34:44.000000000 -0500
@@ -470,7 +470,7 @@
 
         server_name = new SQLCHAR[ bl1 ];
 
-		txt.sprintf( "    ServerName: %p", bl1 );
+		txt.sprintf( "    ServerName: %p", server_name );
     }
 	odbctest -> out_win -> insertLineLimited( txt );
 
@@ -500,7 +500,7 @@
 
         description = new SQLCHAR[ bl1 ];
 
-		txt.sprintf( "    Description: %p", bl1 );
+		txt.sprintf( "    Description: %p", description );
     }
 	odbctest -> out_win -> insertLineLimited( txt );
 
@@ -728,7 +728,7 @@
 
         server_name = new SQLCHAR[ bl1 ];
 
-		txt.sprintf( "    ServerName: %p", bl1 );
+		txt.sprintf( "    ServerName: %p", server_name );
     }
 	odbctest -> out_win -> insertLineLimited( txt );
 
@@ -758,7 +758,7 @@
 
         description = new SQLCHAR[ bl1 ];
 
-		txt.sprintf( "    Description: %p", bl1 );
+		txt.sprintf( "    Description: %p", description );
     }
 	odbctest -> out_win -> insertLineLimited( txt );
 
diff -Naur unixODBC-2.2.14.orig/odbctest/odbctest.h unixODBC-2.2.14/odbctest/odbctest.h
--- unixODBC-2.2.14.orig/odbctest/odbctest.h	2007-02-12 06:49:37.000000000 -0500
+++ unixODBC-2.2.14/odbctest/odbctest.h	2009-02-15 18:34:44.000000000 -0500
@@ -103,7 +103,7 @@
 	SQLUINTEGER *row_bind_offset_ptr, row_bind_offset;
 	SQLUSMALLINT *row_operation_ptr, row_operation;
 	SQLUSMALLINT *row_status_ptr, row_status;
-	SQLUINTEGER *rows_fetched_ptr, rows_fetched;
+	SQLULEN *rows_fetched_ptr, rows_fetched;
 
 private:
 	int type;
diff -Naur unixODBC-2.2.14.orig/odbctest/results.cpp unixODBC-2.2.14/odbctest/results.cpp
--- unixODBC-2.2.14.orig/odbctest/results.cpp	2007-04-17 11:16:17.000000000 -0400
+++ unixODBC-2.2.14/odbctest/results.cpp	2009-02-15 18:34:44.000000000 -0500
@@ -815,7 +815,7 @@
 		}
 		else
 		{
-			txt.sprintf( "    *Strlen_or_Ind Ptr: %d", strlen_or_ind );
+			txt.sprintf( "    *Strlen_or_Ind Ptr: %ld", (long) strlen_or_ind );
 		}
 		odbctest -> out_win -> insertLineLimited( txt );
 	}
@@ -945,7 +945,7 @@
 				long val;
 
 				memcpy( &val, buf, sizeof( val ));
-				txt.sprintf( "    *Target Value Ptr: %d (0x%x)", val, val );
+				txt.sprintf( "    *Target Value Ptr: %ld (0x%lx)", val, val );
 				break;
 			}
 
@@ -964,7 +964,7 @@
 				long val;
 
 				memcpy( &val, buf, sizeof( val ));
-				txt.sprintf( "    *Target Value Ptr: %d (0x%x)", val, val );
+				txt.sprintf( "    *Target Value Ptr: %ld (0x%lx)", val, val );
 				break;
 			}
 
@@ -1433,7 +1433,7 @@
 			}
 			else
 			{
-				txt.sprintf( "    *Column Size Ptr: %d", column_size );
+				txt.sprintf( "    *Column Size Ptr: %ld", (long) column_size );
 			}
 			odbctest -> out_win -> insertLineLimited( txt );
 		}
@@ -1596,7 +1596,7 @@
 	}
 	else
 	{
-		txt.sprintf( "    *RowCountPtr: %d", num_rows );
+		txt.sprintf( "    *RowCountPtr: %ld", (long) num_rows );
 	}
 	odbctest -> out_win -> insertLineLimited( txt );
 
@@ -2047,7 +2047,7 @@
 
             if ( buf )
             {
-	            txt.sprintf( "    *CharacterAttributePtr: %s", buf );
+	            txt.sprintf( "    *CharacterAttributePtr: %s", (char *) buf );
 	            odbctest -> out_win -> insertLineLimited( txt );
             }
         }
@@ -2055,7 +2055,7 @@
         {
             if ( numeric_ptr )
             {
-	            txt.sprintf( "    *NumericAttributePtr: %d", numeric_value );
+	            txt.sprintf( "    *NumericAttributePtr: %ld", (long) numeric_value );
 	            odbctest -> out_win -> insertLineLimited( txt );
             }
         }
@@ -2311,7 +2311,7 @@
 
             if ( buf )
             {
-	            txt.sprintf( "    *rgbDesc: %s", buf );
+	            txt.sprintf( "    *rgbDesc: %s", (char *) buf );
 	            odbctest -> out_win -> insertLineLimited( txt );
             }
         }
@@ -2319,7 +2319,7 @@
         {
             if ( numeric_ptr )
             {
-	            txt.sprintf( "    *pfDesc: %d", numeric_value );
+	            txt.sprintf( "    *pfDesc: %ld", (long) numeric_value );
 	            odbctest -> out_win -> insertLineLimited( txt );
             }
         }
@@ -2554,7 +2554,7 @@
 	SQLHANDLE in_handle = SQL_NULL_HANDLE;
 	SQLSMALLINT fetch_orentation;
     SQLINTEGER fetch_offset;
-    SQLUINTEGER row_count, *row_count_ptr;
+    SQLULEN row_count, *row_count_ptr;
     SQLUSMALLINT *row_status_array;
 	int index;
 
@@ -2616,7 +2616,7 @@
 	    odbctest -> out_win -> insertLineLimited( "  Out:" );
         if ( row_count_ptr )
         {
-            txt.sprintf( "    *RowCountPtr: %d", row_count);
+            txt.sprintf( "    *RowCountPtr: %ld", (long) row_count);
             odbctest -> out_win -> insertLineLimited( txt );
         }
         if ( row_status_array )
diff -Naur unixODBC-2.2.14.orig/odbctest/stmt.cpp unixODBC-2.2.14/odbctest/stmt.cpp
--- unixODBC-2.2.14.orig/odbctest/stmt.cpp	2007-02-13 01:14:21.000000000 -0500
+++ unixODBC-2.2.14/odbctest/stmt.cpp	2009-02-15 18:34:44.000000000 -0500
@@ -1307,7 +1307,7 @@
 	else
 	{
 		decimal_digits_ptr = &decimal_digits;
-		txt.sprintf( "    DecimalDigitsPtr: %p", decimal_digits );
+		txt.sprintf( "    DecimalDigitsPtr: %p", decimal_digits_ptr );
 	}
 	odbctest -> out_win -> insertLineLimited( txt );
 	decimal_digits = -9999;
@@ -1366,7 +1366,7 @@
 			}
 			else
 			{
-				txt.sprintf( "    *ParamSizePtr: %d", param_size );
+				txt.sprintf( "    *ParamSizePtr: %ld", (long) param_size );
 			}
 			odbctest -> out_win -> insertLineLimited( txt );
 		}
@@ -1518,7 +1518,7 @@
 	{
 		if ( value_ptr )
 		{	
-            txt.sprintf( "    *ValuePtr: %d", value );
+            txt.sprintf( "    *ValuePtr: %ld", (long) value );
 			odbctest -> out_win -> insertLineLimited( txt );
 		}
 	}
@@ -1712,13 +1712,13 @@
 			data_ptr_var = NULL;
 		else 
 			data_ptr_var = (SQLPOINTER) s->latin1();
-		txt.sprintf( "    DataPtr: %s", data_ptr_var );
+		txt.sprintf( "    DataPtr: %p", data_ptr_var );
 		odbctest -> out_win -> insertLineLimited( txt );
 	}
 	else
 	{
         data_ptr_var = ( SQLPOINTER ) data_str;
-		txt.sprintf( "    DataPtr: %s", data_ptr_var );
+		txt.sprintf( "    DataPtr: %s", (char *) data_ptr_var );
 		odbctest -> out_win -> insertLineLimited( txt );
 	}
 
diff -Naur unixODBC-2.2.14.orig/samples/helper.c unixODBC-2.2.14/samples/helper.c
--- unixODBC-2.2.14.orig/samples/helper.c	2001-12-13 08:00:34.000000000 -0500
+++ unixODBC-2.2.14/samples/helper.c	2009-02-15 18:34:43.000000000 -0500
@@ -96,7 +96,7 @@
         {
             sprintf(qbuf, "create table \"%s\" "
                     "(a INTEGER PRIMARY KEY, b %s(%ld))",
-                    table_name, type, length);
+                    table_name, type, (long) length);
         }
         else
         {
@@ -728,7 +728,7 @@
         if (SQL_SUCCEEDED(ret))
         {
             sprintf(cbuf, "** error: %s:%d:%ld:%s **\n",
-                    state, i, native, text);
+                    state, i, (long) native, text);
              szLogPrintf( srv_info, FALSE, cbuf);
         }
     }


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/unixODBC/devel/.cvsignore,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- .cvsignore	6 Dec 2006 17:19:47 -0000	1.13
+++ .cvsignore	20 Feb 2009 17:22:19 -0000	1.14
@@ -1 +1 @@
-unixODBC-2.2.12.tar.gz
+unixODBC-2.2.14.tar.gz

multilib-config.patch:

Index: multilib-config.patch
===================================================================
RCS file: /cvs/pkgs/rpms/unixODBC/devel/multilib-config.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- multilib-config.patch	20 Apr 2007 16:59:34 -0000	1.1
+++ multilib-config.patch	20 Feb 2009 17:22:19 -0000	1.2
@@ -3,16 +3,26 @@
 which we invoke in the specfile (yeah, a crude hack...)
 
 
-diff -Naur unixODBC-2.2.12.orig/qt.m4 unixODBC-2.2.12/qt.m4
---- unixODBC-2.2.12.orig/qt.m4	2006-05-16 13:42:26.000000000 -0400
-+++ unixODBC-2.2.12/qt.m4	2007-04-20 12:32:55.000000000 -0400
-@@ -207,30 +207,7 @@
+diff -Naur unixODBC-2.2.14.orig/qt.m4 unixODBC-2.2.14/qt.m4
+--- unixODBC-2.2.14.orig/qt.m4	2008-06-30 11:13:44.000000000 -0400
++++ unixODBC-2.2.14/qt.m4	2008-11-25 12:01:47.000000000 -0500
+@@ -230,40 +230,7 @@
  
    # Ensure we have the lib dir...
    if test "x$qt_libraries" = "x" ; then
 -    # see if it is relative to the includes
 -    qt_tree="$qt_includes"
--    while test "x$qt_tree" != "x" ; do
+-
+-	#
+-	# the cygwin dirhame only strips up to the first /
+-	#
+-
+-	case $host_os in
+-	  cygwin*) empty_dir="x/" ;;
+-	  *) empty_dir="x" ;;
+-	esac
+-
+-    while test "x$qt_tree" != $empty_dir ; do
 -      # first go around will fail...
 -      if expr "$QTVERSION" '>=' "040000" > /dev/null ; then
 -        if ls $qt_tree/lib/libQt* > /dev/null 2> /dev/null ; then


Index: odbcinst.ini
===================================================================
RCS file: /cvs/pkgs/rpms/unixODBC/devel/odbcinst.ini,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- odbcinst.ini	9 Sep 2004 13:51:34 -0000	1.3
+++ odbcinst.ini	20 Feb 2009 17:22:19 -0000	1.4
@@ -1,19 +1,20 @@
-# Example driver definitinions
-#
+# Example driver definitions
+# Note: on a 64-bit machine, change /usr/lib to /usr/lib64
 #
 
-# Included in the unixODBC package
+# Driver from the postgresql-odbc package
+# Setup from the unixODBC package
 [PostgreSQL]
 Description	= ODBC for PostgreSQL
-Driver		= /usr/lib/libodbcpsql.so
+Driver		= /usr/lib/psqlodbc.so
 Setup		= /usr/lib/libodbcpsqlS.so
 FileUsage	= 1
 
 
-# Driver from the MyODBC package
+# Driver from the mysql-connector-odbc package
 # Setup from the unixODBC package
-#[MySQL]
-#Description	= ODBC for MySQL
-#Driver		= /usr/lib/libmyodbc.so
-#Setup		= /usr/lib/libodbcmyS.so
-#FileUsage	= 1
+[MySQL]
+Description	= ODBC for MySQL
+Driver		= /usr/lib/libmyodbc5.so
+Setup		= /usr/lib/libodbcmyS.so
+FileUsage	= 1


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/unixODBC/devel/sources,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- sources	6 Dec 2006 17:19:47 -0000	1.13
+++ sources	20 Feb 2009 17:22:19 -0000	1.14
@@ -1 +1 @@
-9a116aad4059c31d231b626ffdf1869a  unixODBC-2.2.12.tar.gz
+f47c2efb28618ecf5f33319140a7acd0  unixODBC-2.2.14.tar.gz


Index: unixODBC.spec
===================================================================
RCS file: /cvs/pkgs/rpms/unixODBC/devel/unixODBC.spec,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -r1.45 -r1.46
--- unixODBC.spec	29 Jul 2008 01:03:16 -0000	1.45
+++ unixODBC.spec	20 Feb 2009 17:22:19 -0000	1.46
@@ -1,7 +1,7 @@
 Summary: A complete ODBC driver manager for Linux
 Name: unixODBC
-Version: 2.2.12
-Release: 9%{?dist}
+Version: 2.2.14
+Release: 1%{?dist}
 Group: System Environment/Libraries
 URL: http://www.unixODBC.org/
 # Programs are GPL, libraries are LGPL, except News Server library is GPL.
@@ -11,28 +11,28 @@
 Source1: odbcinst.ini
 Source2: ODBCConfig.desktop
 Source3: DataManager.desktop
+Source4: conffile.h
 Patch1: depcomp.patch
 Patch2: multilib-config.patch
-Patch4: parserupdate.patch
-Patch5: nortldglobal.patch
-Patch6: unixODBC-2.2.11-stricmp.patch
+Patch3: warning-cleanup.patch
+Patch6: export-symbols.patch
+Patch7: libtool-config.patch
+Patch8: so-version-bump.patch
+Patch9: keep-typedefs.patch
 
 Conflicts: iodbc
 BuildRequires: libX11-devel libXt-devel libXext-devel
 BuildRequires: qt3-devel readline-devel
-BuildRequires: automake autoconf libtool bison flex
+BuildRequires: automake autoconf libtool libtool-ltdl-devel bison flex
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 
 %description
-Install unixODBC if you want to access databases through ODBC.  This
-package includes low-level drivers for MySQL, PostgreSQL, and local files.
-However, the included drivers are not as up-to-date as the ones distributed
-separately.  It is recommended that you install and use the MyODBC package
-if you need a driver for MySQL, and/or the postgresql-odbc package for
-PostgreSQL.
+Install unixODBC if you want to access databases through ODBC.
+You will also need the mysql-connector-odbc package if you want to access
+a MySQL database, and/or the postgresql-odbc package for PostgreSQL.
 
 %package devel
-Summary: Development files for programs which will use the unixODBC library.
+Summary: Development files for programs which will use the unixODBC library
 Group: Development/Libraries
 Requires: %{name} = %{version}-%{release}
 
@@ -42,7 +42,7 @@
 ODBC, you need to install this package.
 
 %package kde
-Summary: KDE driver manager components for ODBC.
+Summary: KDE driver manager components for ODBC
 Group: System Environment/Libraries
 Requires: %{name} = %{version}-%{release}
 
@@ -54,25 +54,17 @@
 %setup -q
 %patch1 -p1
 %patch2 -p1
-%patch4 -p1
+%patch3 -p1
 %patch6 -p1
-
-# 2.2.8 includes a libtool that is too old for some of our architectures.
-# Blow it away and replace with build system's libtool.  (We intend to use
-# the installed libtool anyway, but this makes sure they match.)
-rm -rf config.guess config.sub ltmain.sh libltdl
-cp -r /usr/share/libtool/* .
-
-# Use newer install-sh and mkinstalldirs, too
-if [ -f libltdl/install-sh ]; then
-  cp -f libltdl/install-sh .
-fi
-if [ -f libltdl/mkinstalldirs ]; then
-  cp -f libltdl/mkinstalldirs .
-fi
-
-# libltdl patch has to be applied after the above
-%patch5 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+
+# Blow away the embedded libtool and replace with build system's libtool.
+# (We will use the installed libtool anyway, but this makes sure they match.)
+rm -rf config.guess config.sub install-sh ltmain.sh libltdl
+# this hack is so we can build with either libtool 2.2 or 1.5
+libtoolize --install || libtoolize
 
 %build
 # pick up qt path
@@ -85,13 +77,13 @@
 aclocal
 automake --add-missing
 autoconf
-pushd libltdl
-aclocal
-automake
-autoconf
-popd
 
-%configure --with-gnu-ld=yes --enable-threads=yes --enable-gui=yes --enable-static=yes --enable-drivers
+# unixODBC 2.2.14 is not aliasing-safe
+CFLAGS="%{optflags} -fno-strict-aliasing"
+CXXFLAGS="$CFLAGS"
+export CFLAGS CXXFLAGS
+
+%configure --with-gnu-ld=yes --enable-threads=yes --enable-gui=yes --enable-drivers --enable-ltdllib
 make all
 
 %install
@@ -112,13 +104,33 @@
 cp DataManagerII/LinuxODBC.xpm $RPM_BUILD_ROOT/usr/share/pixmaps
 cp DataManagerII/ODBC.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/odbc.xpm
 
+# multilib header hacks
+# we only apply this to known Red Hat multilib arches, per bug #181335
+case `uname -i` in
+  i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparcv9 | sparc64 )
+    mv $RPM_BUILD_ROOT/usr/include/unixodbc_conf.h $RPM_BUILD_ROOT/usr/include/unixodbc_conf_`uname -i`.h
+    rm -f unixodbc_conf.h
+    sed s/CONFFILE/unixodbc_conf/ %{SOURCE4} >unixodbc_conf.h
+    install -m 644 unixodbc_conf.h $RPM_BUILD_ROOT/usr/include/
+    ;;
+  *)
+    ;;
+esac
+
+# remove obsolete Postgres drivers from the package (but not the setup code)
+rm -f $RPM_BUILD_ROOT%{_libdir}/libodbcpsql.so*
+
 # copy text driver documentation into main doc directory
-mkdir -p doc/Drivers/txt
-cp -pr Drivers/txt/doc/* doc/Drivers/txt
+# currently disabled because upstream no longer includes text driver
+# mkdir -p doc/Drivers/txt
+# cp -pr Drivers/txt/doc/* doc/Drivers/txt
 
 # don't want to install doc Makefiles as docs
 find doc -name 'Makefile*' | xargs rm
 
+# we do not want to ship static libraries
+rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
+
 # remove unpackaged files from the buildroot
 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
 rm -f $RPM_BUILD_ROOT%{_libdir}/libltdl.*
@@ -129,11 +141,11 @@
 find $RPM_BUILD_ROOT%{_libdir} -name "*.so"   | sed "s|^$RPM_BUILD_ROOT||" | grep -v /libodbcinstQ > devel-so-list
 
 # move these to main package, they're often dlopened...
-for lib in libodbc.so libodbcinst.so libodbcpsql.so libodbcpsqlS.so libodbcmyS.so
+for lib in libodbc.so libodbcinst.so libodbcpsqlS.so libodbcmyS.so
 do
-	echo "%{_libdir}/$lib" >> base-so-list
-	grep -v "/$lib$" devel-so-list > devel-so-list.x
-	mv -f devel-so-list.x devel-so-list
+    echo "%{_libdir}/$lib" >> base-so-list
+    grep -v "/$lib$" devel-so-list > devel-so-list.x
+    mv -f devel-so-list.x devel-so-list
 done
 
 %clean
@@ -152,7 +164,6 @@
 %files devel -f devel-so-list
 %defattr(-,root,root)
 %{_includedir}/*
-%{_libdir}/*.a
 
 %files kde
 %defattr(-,root,root)
@@ -174,6 +185,17 @@
 %postun -p /sbin/ldconfig
 
 %changelog
+* Fri Feb 20 2009 Tom Lane <tgl at redhat.com> 2.2.14-1
+- Update to unixODBC 2.2.14.  Note this involves an ABI break and a consequent
+  soname version bump, because upstream fixed some mistakes in the widths of
+  some API datatypes for 64-bit platforms.  Also, the formerly embedded
+  mysql, postgresql, and text drivers have been removed.  (For mysql and
+  postgresql, use the separate mysql-connector-odbc and postgresql-odbc
+  packages, which are far more up to date.  The text driver is not currently
+  shipped by upstream at all, but might get revived as a separate SRPM later.)
+- Stop shipping .a library files, per distro policy.
+- Fixes for libtool 2.2.
+
 * Mon Jul 28 2008 Tom Lane <tgl at redhat.com> 2.2.12-9
 - Fix build failure caused by new default patch fuzz = 0 policy in rawhide.
 


--- nortldglobal.patch DELETED ---


--- parserupdate.patch DELETED ---


--- unixODBC-2.2.11-stricmp.patch DELETED ---




More information about the scm-commits mailing list