]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
update
authorAnthony Minessale <anthony.minessale@gmail.com>
Tue, 9 Oct 2007 15:29:18 +0000 (15:29 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Tue, 9 Oct 2007 15:29:18 +0000 (15:29 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5831 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
src/switch_channel.c

index 3884f403f5093a223493c98027d4d1e6ad8ac919..551a4510e2bc03bdaa6acf41242d1b87e84e4079 100644 (file)
@@ -263,10 +263,8 @@ static switch_status_t dialplan_xml_locate(switch_core_session_t *session, switc
                                
                                encode_len = new_len;
                        
-                               if (!(tmp = realloc(encode_buf, encode_len))) {
-                                       goto done;
-                               }
-
+                               tmp = realloc(encode_buf, encode_len);
+                               assert(tmp);
                                encode_buf = tmp;
                        }
 
index 429e4adefd37c3aa3645401f0e994688b518bbe7..6788f77eea6e65cef2db8b5f443871fd9c5912bd 100644 (file)
@@ -341,31 +341,34 @@ SWITCH_DECLARE(char *) switch_channel_get_variable(switch_channel_t *channel, co
 SWITCH_DECLARE(void) switch_channel_variable_last(switch_channel_t *channel)
 {
        assert(channel != NULL);
-       if (channel->vi) {
-               switch_mutex_unlock(channel->profile_mutex);
-               channel->vi = 0;
+       if (!channel->vi) {
+               return;
        }
+       channel->vi = 0;
+       switch_mutex_unlock(channel->profile_mutex);
+       
 }
 
 SWITCH_DECLARE(switch_event_header_t *) switch_channel_variable_first(switch_channel_t *channel)
 {
+       switch_event_header_t *hi = NULL;
+
        assert(channel != NULL);
-       if (channel->vi) {
-               return NULL;
+       switch_mutex_lock(channel->profile_mutex);
+       if ((hi = channel->variables->headers)) {
+               channel->vi = 1;
+       } else {
+               switch_mutex_unlock(channel->profile_mutex);
        }
 
-       switch_mutex_lock(channel->profile_mutex);
-       channel->vi = 1;
-       return channel->variables->headers;
+       return hi;
 
 }
 
 SWITCH_DECLARE(switch_status_t) switch_channel_set_private(switch_channel_t *channel, const char *key, const void *private_info)
 {
        assert(channel != NULL);
-       switch_mutex_lock(channel->profile_mutex);
        switch_core_hash_insert_locked(channel->private_hash, key, private_info, channel->profile_mutex);
-       switch_mutex_unlock(channel->profile_mutex);
        return SWITCH_STATUS_SUCCESS;
 }
 
@@ -373,9 +376,7 @@ SWITCH_DECLARE(void *) switch_channel_get_private(switch_channel_t *channel, con
 {
        void *val;
        assert(channel != NULL);
-       switch_mutex_lock(channel->profile_mutex);
-       val = switch_core_hash_find(channel->private_hash, key);
-       switch_mutex_unlock(channel->profile_mutex);
+       val = switch_core_hash_find_locked(channel->private_hash, key, channel->profile_mutex);
        return val;
 }
 
@@ -870,11 +871,9 @@ SWITCH_DECLARE(switch_caller_profile_t *) switch_channel_get_caller_profile(swit
 {
        switch_caller_profile_t *profile;
        assert(channel != NULL);
-
        switch_mutex_lock(channel->profile_mutex);
        profile = channel->caller_profile;
        switch_mutex_unlock(channel->profile_mutex);
-
        return profile;
 }