From 9838aa4e00fa440c3c9587069497e2c6210f9256 Mon Sep 17 00:00:00 2001 From: Brian West Date: Sat, 24 May 2008 02:03:16 +0000 Subject: [PATCH] pdd and FSCORE-127 git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8571 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/switch_channel.c | 11 +++++------ src/switch_odbc.c | 10 ++++++++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/switch_channel.c b/src/switch_channel.c index 32d3c2f0aa..3f48707d17 100644 --- a/src/switch_channel.c +++ b/src/switch_channel.c @@ -1372,15 +1372,14 @@ SWITCH_DECLARE(switch_status_t) switch_channel_perform_mark_ring_ready(switch_ch if (!switch_channel_test_flag(channel, CF_RING_READY)) { switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_NOTICE, "Ring-Ready %s!\n", channel->name); switch_channel_set_flag(channel, CF_RING_READY); + if (channel->caller_profile && channel->caller_profile->times) { + switch_mutex_lock(channel->profile_mutex); + channel->caller_profile->times->progress = switch_timestamp_now(); + switch_mutex_unlock(channel->profile_mutex); + } return SWITCH_STATUS_SUCCESS; } - if (channel->caller_profile && channel->caller_profile->times) { - switch_mutex_lock(channel->profile_mutex); - channel->caller_profile->times->progress = switch_timestamp_now(); - switch_mutex_unlock(channel->profile_mutex); - } - return SWITCH_STATUS_FALSE; } diff --git a/src/switch_odbc.c b/src/switch_odbc.c index d8fad0ae95..e2343d8139 100644 --- a/src/switch_odbc.c +++ b/src/switch_odbc.c @@ -144,8 +144,14 @@ SWITCH_DECLARE(switch_odbc_status_t) switch_odbc_handle_connect(switch_odbc_hand switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Connecting %s\n", handle->dsn); - result = SQLConnect(handle->con, (SQLCHAR *) handle->dsn, SQL_NTS, (SQLCHAR *) handle->username, SQL_NTS, (SQLCHAR *) handle->password, SQL_NTS); - + if(!strstr(handle->dsn, "DRIVER")) { + result = SQLConnect(handle->con, (SQLCHAR *) handle->dsn, SQL_NTS, (SQLCHAR *) handle->username, SQL_NTS, (SQLCHAR *) handle->password, SQL_NTS); + } else { + SQLCHAR outstr[1024] = {0}; + SQLSMALLINT outstrlen = 0; + result = SQLDriverConnect(handle->con, NULL, (SQLCHAR *) handle->dsn, strlen(handle->dsn), outstr, sizeof(outstr), &outstrlen, SQL_DRIVER_NOPROMPT); + } + if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO)) { char *err_str; if ((err_str = switch_odbc_handle_get_error(handle, NULL))) {