summaryrefslogtreecommitdiff
path: root/main/xmldoc.c
diff options
context:
space:
mode:
authorEliel C. Sardanons <eliels@gmail.com>2008-11-15 15:37:11 +0000
committerEliel C. Sardanons <eliels@gmail.com>2008-11-15 15:37:11 +0000
commit7a20daefed2d9b73a86d41ae40d36a196d06373a (patch)
treefdd900e83e0f84cbf8e7b369e6a996f5194a033c /main/xmldoc.c
parent1148e648b863a5237d0c7b9cd9b6d332559c35c9 (diff)
Avoid a not needed cast, making code more readable.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157073 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/xmldoc.c')
-rw-r--r--main/xmldoc.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/main/xmldoc.c b/main/xmldoc.c
index 5921960c4..c3c9e80c1 100644
--- a/main/xmldoc.c
+++ b/main/xmldoc.c
@@ -584,11 +584,10 @@ static char *xmldoc_get_syntax_fun(struct ast_xml_node *rootnode, const char *ro
#define ISLAST(__rev, __a) (__rev == 1 ? (ast_xml_node_get_prev(__a) ? 0 : 1) : (ast_xml_node_get_next(__a) ? 0 : 1))
#define MP(__a) ((multiple ? __a : ""))
struct ast_xml_node *node = NULL, *firstparam = NULL, *lastparam = NULL;
- const char *paramtype, *multipletype, *paramname, *attrargsep, *parenthesis, *argname;
+ const char *paramtype, *multipletype, *paramnameattr, *attrargsep, *parenthesis, *argname;
int reverse, required, paramcount = 0, openbrackets = 0, len = 0, hasparams=0;
- int reqfinode = 0, reqlanode = 0, optmidnode = 0, prnparenthesis;
- char *syntax = NULL, *argsep;
- int paramnamemalloc, multiple;
+ int reqfinode = 0, reqlanode = 0, optmidnode = 0, prnparenthesis, multiple;
+ char *syntax = NULL, *argsep, *paramname;
if (ast_strlen_zero(rootname) || ast_strlen_zero(childname)) {
ast_log(LOG_WARNING, "Tried to look in XML tree with faulty rootname or childname while creating a syntax.\n");
@@ -696,16 +695,13 @@ static char *xmldoc_get_syntax_fun(struct ast_xml_node *rootnode, const char *ro
if (argname) {
paramname = xmldoc_get_syntax_fun(node, argname, "argument", prnparenthesis, prnparenthesis);
ast_xml_free_attr(argname);
- paramnamemalloc = 1;
} else {
/* Malformed XML, print **UNKOWN** */
paramname = ast_strdup("**unknown**");
}
- paramnamemalloc = 1;
} else {
- paramnamemalloc = 0;
- paramname = ast_xml_get_attribute(node, "name");
- if (!paramname) {
+ paramnameattr = ast_xml_get_attribute(node, "name");
+ if (!paramnameattr) {
ast_log(LOG_WARNING, "Malformed XML %s: no %s name\n", rootname, childname);
if (syntax) {
/* Free already allocated syntax */
@@ -715,6 +711,8 @@ static char *xmldoc_get_syntax_fun(struct ast_xml_node *rootnode, const char *ro
ast_asprintf(&syntax, "%s%s", (printrootname ? rootname : ""), (printparenthesis ? "()" : ""));
return syntax;
}
+ paramname = ast_strdup(paramnameattr);
+ ast_xml_free_attr(paramnameattr);
}
/* Defaults to 'false'. */
@@ -779,11 +777,7 @@ static char *xmldoc_get_syntax_fun(struct ast_xml_node *rootnode, const char *ro
}
}
}
- if (paramnamemalloc) {
- ast_free((char *) paramname);
- } else {
- ast_xml_free_attr(paramname);
- }
+ ast_free(paramname);
paramcount++;
}