aboutsummaryrefslogtreecommitdiffstats
path: root/chanvars.c
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2005-12-03 19:25:33 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2005-12-03 19:25:33 +0000
commit3365b1cc9fd629381e341c2291fc0cfb53a44c36 (patch)
treef1b09ce6fd8d356c12bfe4e6b4e24e8f97ef1154 /chanvars.c
parenta3c74f33dd6c999b8db1cd4281784753ebca997d (diff)
Bug 5858 - Make the chanvars.c functions return a 'const char *'
This should prevent us from unintentionally changing variable values when they're returned from pbx_builtin_getvar_helper. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7304 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'chanvars.c')
-rw-r--r--chanvars.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/chanvars.c b/chanvars.c
index d01c9260b..83b611d23 100644
--- a/chanvars.c
+++ b/chanvars.c
@@ -59,31 +59,27 @@ void ast_var_delete(struct ast_var_t *var)
free(var);
}
-char *ast_var_name(struct ast_var_t *var)
+const char *ast_var_name(const struct ast_var_t *var)
{
- char *name;
+ const char *name;
- if (var == NULL)
- return NULL;
- if (var->name == NULL)
+ if (var == NULL || (name = var->name) == NULL)
return NULL;
/* Return the name without the initial underscores */
- if (var->name[0] == '_') {
- if (var->name[1] == '_')
- name = (char*)&(var->name[2]);
- else
- name = (char*)&(var->name[1]);
- } else
- name = var->name;
+ if (name[0] == '_') {
+ name++;
+ if (name[0] == '_')
+ name++;
+ }
return name;
}
-char *ast_var_full_name(struct ast_var_t *var)
+const char *ast_var_full_name(const struct ast_var_t *var)
{
return (var ? var->name : NULL);
}
-char *ast_var_value(struct ast_var_t *var)
+const char *ast_var_value(const struct ast_var_t *var)
{
return (var ? var->value : NULL);
}