aboutsummaryrefslogtreecommitdiffstats
path: root/chanvars.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-11-01 02:23:28 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-11-01 02:23:28 +0000
commit008b39e8497ec071757d20f7d7105acac2225a38 (patch)
tree5e362926a608d85c6dceee94f42cc271e8cffe94 /chanvars.c
parent6abdf2f3a7156e897d510be8e3274c7e2176327d (diff)
Make channel variables inheritable by _ (bug #928)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4141 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'chanvars.c')
-rwxr-xr-xchanvars.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/chanvars.c b/chanvars.c
index bc13b223a..dabfdda51 100755
--- a/chanvars.c
+++ b/chanvars.c
@@ -70,6 +70,25 @@ void ast_var_delete(struct ast_var_t *var)
char *ast_var_name(struct ast_var_t *var)
{
+ char *name;
+
+ if (var == NULL)
+ return NULL;
+ if (var->name == NULL)
+ return NULL;
+ /* Return the name without the initial underscores */
+ if ((strlen(var->name) > 0) && (var->name[0] == '_')) {
+ if ((strlen(var->name) > 1) && (var->name[1] == '_'))
+ name = (char*)&(var->name[2]);
+ else
+ name = (char*)&(var->name[1]);
+ } else
+ name = var->name;
+ return name;
+}
+
+char *ast_var_full_name(struct ast_var_t *var)
+{
return (var != NULL ? var->name : NULL);
}