\return the original string if no expansion takes place otherwise a new string that must be freed
\note it's necessary to test if the return val is the same as the input and free the string if it is not.
*/
-SWITCH_DECLARE(char *) switch_channel_expand_variables(switch_channel_t *channel, char *in);
+SWITCH_DECLARE(char *) switch_channel_expand_variables(switch_channel_t *channel, const char *in);
SWITCH_DECLARE(char *) switch_channel_build_param_string(switch_channel_t *channel, switch_caller_profile_t *caller_profile, const char *prefix);
/** @} */
memset(c, 0, olen - cpos);\
}} \
-SWITCH_DECLARE(char *) switch_channel_expand_variables(switch_channel_t *channel, char *in)
+SWITCH_DECLARE(char *) switch_channel_expand_variables(switch_channel_t *channel, const char *in)
{
- char *q, *p, *c = NULL;
+ char *p, *c = NULL;
char *data, *indup;
size_t sp = 0, len = 0, olen = 0, vtype = 0, br = 0, cpos, block = 128;
- const char *sub_val = NULL;
+ const char *q, *sub_val = NULL;
char *cloned_sub_val = NULL;
char *func_val = NULL;
int nv = 0;
}
if (!nv) {
- return in;
+ return (char *)in;
}
nv = 0;
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Memory Error!\n");
free(data);
free(indup);
- return in;
+ return (char *)in;
}
}
if ((nlen = sub_val ? strlen(sub_val) : 0)) {