From: Russ Allbery Date: Thu, 24 Jul 2008 15:45:43 +0000 (-0700) Subject: Fix variable sizes in the ODBC code X-Git-Url: http://www.project-moonshot.org/gitweb/?a=commitdiff_plain;h=65d5ccacd267249f8046a8fe0134431e6dcf4d74;p=shibboleth%2Fsp.git Fix variable sizes in the ODBC code * Apply upstream fix for variable sizes in the ODBC code. Fixes a FTBFS on 64-bit platforms. (Closes: #492101) --- diff --git a/debian/changelog b/debian/changelog index bbec71f..1148298 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +shibboleth-sp2 (2.0.dfsg1-2) unstable; urgency=low + + * Apply upstream fix for variable sizes in the ODBC code. Fixes a + FTBFS on 64-bit platforms. (Closes: #492101) + + -- Russ Allbery Thu, 24 Jul 2008 08:44:50 -0700 + shibboleth-sp2 (2.0.dfsg1-1) unstable; urgency=low [ Ferenc Wágner ] diff --git a/odbc-store/odbc-store.cpp b/odbc-store/odbc-store.cpp index f64f091..8bb7989 100644 --- a/odbc-store/odbc-store.cpp +++ b/odbc-store/odbc-store.cpp @@ -67,8 +67,8 @@ using namespace std; /* table definitions CREATE TABLE version ( - major tinyint NOT NULL, - minor tinyint NOT NULL + major int NOT NULL, + minor int NOT NULL ) CREATE TABLE strings ( @@ -457,7 +457,7 @@ bool ODBCStorageService::createRow(const char* table, const char* context, const } m_log.debug("SQLPrepare succeeded. SQL: %s", q.c_str()); - SQLINTEGER b_ind = SQL_NTS; + SQLLEN b_ind = SQL_NTS; sr = SQLBindParam(stmt, 1, SQL_C_CHAR, SQL_VARCHAR, 255, 0, const_cast(context), &b_ind); if (!SQL_SUCCEEDED(sr)) { m_log.error("SQLBindParam failed (context = %s)", context); @@ -562,7 +562,7 @@ int ODBCStorageService::readRow( return version; // nothing's changed, so just echo back the version if (pvalue) { - SQLINTEGER len; + SQLLEN len; SQLCHAR buf[LONGDATA_BUFLEN]; while ((sr=SQLGetData(stmt,pexpiration ? 3 : 2,SQL_C_CHAR,buf,sizeof(buf),&len)) != SQL_NO_DATA) { if (!SQL_SUCCEEDED(sr)) { @@ -656,7 +656,7 @@ int ODBCStorageService::updateRow(const char *table, const char* context, const } m_log.debug("SQLPrepare succeeded. SQL: %s", q.c_str()); - SQLINTEGER b_ind = SQL_NTS; + SQLLEN b_ind = SQL_NTS; if (value) { if (strcmp(table, TEXT_TABLE)==0) sr = SQLBindParam(stmt, 1, SQL_C_CHAR, SQL_LONGVARCHAR, strlen(value), 0, const_cast(value), &b_ind);