]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add more nested var tricks
authorAnthony Minessale <anthony.minessale@gmail.com>
Wed, 7 Nov 2007 18:28:33 +0000 (18:28 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Wed, 7 Nov 2007 18:28:33 +0000 (18:28 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6173 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch_channel.c

index b6d9be4bdfbca0e2bf8c6ee80a434f51e4100c5e..6697a5da85655e7bf1a805a5d1a9c66017d0c429 100644 (file)
@@ -1381,14 +1381,23 @@ SWITCH_DECLARE(char *) switch_channel_expand_variables(switch_channel_t *channel
                                }
 
                                if (vtype == 1) {
+                                       char *expanded = NULL;
+
+                                       if ((expanded = switch_channel_expand_variables(channel, (char *)vname)) == vname) {
+                                               expanded = NULL;
+                                       } else {
+                                               vname = expanded;
+                                       }
                                        sub_val = switch_channel_get_variable(channel, vname);
+                                       switch_safe_free(expanded);
                                } else {
                                        switch_stream_handle_t stream = { 0 };
+                                       char *expanded = NULL;
 
                                        SWITCH_STANDARD_STREAM(stream);
 
                                        if (stream.data) {
-                                               char *expanded = NULL;
+
 
                                                if ((expanded = switch_channel_expand_variables(channel, vval)) == vval) {
                                                        expanded = NULL;