From: Anthony Minessale Date: Wed, 18 Nov 2009 15:37:57 +0000 (+0000) Subject: wrong toin at albakoyke X-Git-Tag: v1.0.6~1375 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24ce607f2ba0a774287deca4e0335a891e82d3ca;p=thirdparty%2Ffreeswitch.git wrong toin at albakoyke git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15522 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/src/switch_odbc.c b/src/switch_odbc.c index afadbde171..89a03d95bf 100644 --- a/src/switch_odbc.c +++ b/src/switch_odbc.c @@ -429,10 +429,12 @@ SWITCH_DECLARE(switch_odbc_status_t) switch_odbc_handle_callback_exec_detailed(c #ifdef SWITCH_HAVE_ODBC SQLHSTMT stmt = NULL; SQLSMALLINT c = 0, x = 0; - SQLLEN m = 0, t = 0; + SQLLEN m = 0; char *err_str = NULL; int result; - + int err_cnt = 0; + int done = 0; + switch_assert(callback != NULL); if (!db_is_up(handle)) { @@ -458,18 +460,18 @@ SWITCH_DECLARE(switch_odbc_status_t) switch_odbc_handle_callback_exec_detailed(c SQLNumResultCols(stmt, &c); SQLRowCount(stmt, &m); - for (t = 0 ;; t++) { + + while(!done) { int name_len = 256; char **names; char **vals; int y = 0; - int done = 0; - + result = SQLFetch(stmt); if (result != SQL_SUCCESS) { if (result != SQL_NO_DATA){ - err++; + err_cnt++; } break; } @@ -508,14 +510,14 @@ SWITCH_DECLARE(switch_odbc_status_t) switch_odbc_handle_callback_exec_detailed(c } free(names); free(vals); - - if (done) { - break; - } } SQLFreeHandle(SQL_HANDLE_STMT, stmt); + if (!err_cnt) { + return SWITCH_ODBC_SUCCESS; + } + error: if (stmt) {