51 lines
1.5 KiB
Ruby
51 lines
1.5 KiB
Ruby
|
require 'formula'
|
||
|
|
||
|
class Libodbcxx < Formula
|
||
|
homepage 'http://libodbcxx.sourceforge.net'
|
||
|
url 'http://sourceforge.net/projects/libodbcxx/files/libodbc++/0.2.5/libodbc++-0.2.5.tar.gz'
|
||
|
sha1 'e59842266b981caab24a6fae1f7d48b6799420f8'
|
||
|
|
||
|
# Two patches are included:
|
||
|
# The first: Fixes a compilation error on 64bit machines:
|
||
|
# http://sourceforge.net/tracker/?func=detail&aid=3590196&group_id=19075&atid=319075
|
||
|
# The second: Fixes a memory corruption error on 64bit systems:
|
||
|
# https://sourceforge.net/tracker/?func=detail&aid=3601361&group_id=19075&atid=319075
|
||
|
def patches
|
||
|
DATA
|
||
|
end
|
||
|
|
||
|
def install
|
||
|
system "./configure", "--disable-debug", "--disable-dependency-tracking",
|
||
|
"--prefix=#{prefix}"
|
||
|
system "make install"
|
||
|
end
|
||
|
end
|
||
|
|
||
|
__END__
|
||
|
diff --git a/src/dtconv.h b/src/dtconv.h
|
||
|
index b281ec5..18a04da 100644
|
||
|
--- a/src/dtconv.h
|
||
|
+++ b/src/dtconv.h
|
||
|
@@ -113,7 +113,7 @@ namespace odbc {
|
||
|
snprintf(buf,LONG_STR_LEN,
|
||
|
# endif
|
||
|
# if defined(PRId64)
|
||
|
- ODBCXX_STRING_PERCENT PRId64
|
||
|
+ "%" PRId64
|
||
|
# elif ODBCXX_SIZEOF_LONG==8
|
||
|
ODBCXX_STRING_CONST("%ld")
|
||
|
# else
|
||
|
diff --git a/src/statement.cpp b/src/statement.cpp
|
||
|
index 809278b..e5f0e5d 100644
|
||
|
--- a/src/statement.cpp
|
||
|
+++ b/src/statement.cpp
|
||
|
@@ -90,7 +90,7 @@ void Statement::_unregisterResultSet(ResultSet* rs)
|
||
|
//protected
|
||
|
SQLUINTEGER Statement::_getUIntegerOption(SQLINTEGER optnum)
|
||
|
{
|
||
|
- SQLUINTEGER res;
|
||
|
+ SQLULEN res;
|
||
|
SQLRETURN r;
|
||
|
|
||
|
#if ODBCVER < 0x0300
|