diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-11-01 02:23:28 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-11-01 02:23:28 +0000 |
commit | 008b39e8497ec071757d20f7d7105acac2225a38 (patch) | |
tree | 5e362926a608d85c6dceee94f42cc271e8cffe94 /chanvars.c | |
parent | 6abdf2f3a7156e897d510be8e3274c7e2176327d (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-x | chanvars.c | 19 |
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); } |