freeradius/freeradius-unixodbc-type-change.patch

34 lines
1.5 KiB
Diff

--- freeradius-server-2.1.3.orig/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/sql_unixodbc.c 2008-12-05 11:37:56.000000000 -0500
+++ freeradius-server-2.1.3/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/sql_unixodbc.c 2009-02-24 09:51:23.000000000 -0500
@@ -166,7 +166,8 @@
*************************************************************************/
static int sql_select_query(SQLSOCK *sqlsocket, SQL_CONFIG *config, char *querystr) {
rlm_sql_unixodbc_sock *unixodbc_sock = sqlsocket->conn;
- SQLINTEGER column, len;
+ SQLINTEGER column;
+ SQLLEN len;
int numfields;
int state;
@@ -184,7 +185,7 @@
for(column=1; column<=numfields; column++) {
SQLColAttributes(unixodbc_sock->stmt_handle,((SQLUSMALLINT) column),SQL_COLUMN_LENGTH,NULL,0,NULL,&len);
- unixodbc_sock->row[column-1] = (SQLCHAR*)rad_malloc((int)++len);
+ unixodbc_sock->row[column-1] = (char*)rad_malloc((int)++len);
SQLBindCol(unixodbc_sock->stmt_handle, column, SQL_C_CHAR, (SQLCHAR *)unixodbc_sock->row[column-1], len, NULL);
}
return 0;
@@ -440,9 +441,9 @@
static int sql_affected_rows(SQLSOCK *sqlsocket, SQL_CONFIG *config) {
rlm_sql_unixodbc_sock *unixodbc_sock = sqlsocket->conn;
long err_handle;
- int affected_rows;
+ SQLLEN affected_rows;
- err_handle = SQLRowCount(unixodbc_sock->stmt_handle, (SQLINTEGER *)&affected_rows);
+ err_handle = SQLRowCount(unixodbc_sock->stmt_handle, &affected_rows);
if (sql_state(err_handle, sqlsocket, config))
return -1;