[asterisk-commits] eliel: branch group/appdocsxml r151510 - in /team/group/appdocsxml: include/a...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Oct 22 09:55:59 CDT 2008
Author: eliel
Date: Wed Oct 22 09:55:58 2008
New Revision: 151510
URL: http://svn.digium.com/view/asterisk?view=rev&rev=151510
Log:
Many minor fixes pointed by russellb in the reviewboard.
- Move code according to coding guidelines.
- Try to avoid indententation when checking for null values, etc.
- node->AST_XML_NAME should be caster to (const char *) instead of (char *).
- Remove mxml from the Makefile.
- Use sizeof() instead of counting again for the array size.
- Remove trailing spaces.
- Change the return value of ast_xml_get_text() to 'const char *'.
Modified:
team/group/appdocsxml/include/asterisk/extconf.h
team/group/appdocsxml/include/asterisk/strings.h
team/group/appdocsxml/include/asterisk/xml.h
team/group/appdocsxml/main/Makefile
team/group/appdocsxml/main/pbx.c
team/group/appdocsxml/main/xml.c
Modified: team/group/appdocsxml/include/asterisk/extconf.h
URL: http://svn.digium.com/view/asterisk/team/group/appdocsxml/include/asterisk/extconf.h?view=diff&rev=151510&r1=151509&r2=151510
==============================================================================
--- team/group/appdocsxml/include/asterisk/extconf.h (original)
+++ team/group/appdocsxml/include/asterisk/extconf.h Wed Oct 22 09:55:58 2008
@@ -72,12 +72,6 @@
};
/* ================== above: the config world; below, the dialplan world */
-
-/*! \brief From where the documentation come from */
-enum doc_src {
- AST_XML_DOC, /*!< From XML documentation */
- AST_STATIC_DOC /*!< From application/function registration */
-};
/*! \brief A registered application */
struct ast_app {
Modified: team/group/appdocsxml/include/asterisk/strings.h
URL: http://svn.digium.com/view/asterisk/team/group/appdocsxml/include/asterisk/strings.h?view=diff&rev=151510&r1=151509&r2=151510
==============================================================================
--- team/group/appdocsxml/include/asterisk/strings.h (original)
+++ team/group/appdocsxml/include/asterisk/strings.h Wed Oct 22 09:55:58 2008
@@ -393,10 +393,11 @@
AST_INLINE_API(
void ast_str_trim_blanks(struct ast_str *buf),
{
- if (buf) {
- while (buf->used && buf->str[buf->used - 1] < 33) {
- buf->str[--(buf->used)] = '\0';
- }
+ if (!buf) {
+ return;
+ }
+ while (buf->used && buf->str[buf->used - 1] < 33) {
+ buf->str[--(buf->used)] = '\0';
}
}
)
Modified: team/group/appdocsxml/include/asterisk/xml.h
URL: http://svn.digium.com/view/asterisk/team/group/appdocsxml/include/asterisk/xml.h?view=diff&rev=151510&r1=151509&r2=151510
==============================================================================
--- team/group/appdocsxml/include/asterisk/xml.h (original)
+++ team/group/appdocsxml/include/asterisk/xml.h Wed Oct 22 09:55:58 2008
@@ -33,7 +33,7 @@
typedef xmlNode ast_xml_node;
typedef xmlDoc ast_xml_doc;
typedef char ast_xml_attr;
-typedef char ast_xml_text;
+typedef const char ast_xml_text;
/* Node member mapping, not always the child node is called 'children' */
#define AST_XML_CHILD children
@@ -120,7 +120,7 @@
* \retval NULL on error.
* \retval The text content of node.
*/
-char *ast_xml_get_text(ast_xml_node *node);
+const char *ast_xml_get_text(ast_xml_node *node);
/* Features using ast_xml_ */
#define XML_DOCUMENTATION
Modified: team/group/appdocsxml/main/Makefile
URL: http://svn.digium.com/view/asterisk/team/group/appdocsxml/main/Makefile?view=diff&rev=151510&r1=151509&r2=151510
==============================================================================
--- team/group/appdocsxml/main/Makefile (original)
+++ team/group/appdocsxml/main/Makefile Wed Oct 22 09:55:58 2008
@@ -41,7 +41,6 @@
AST_LIBS += $(SSL_LIB)
AST_LIBS += $(BKTR_LIB)
-AST_LIBS += -lmxml -L../menuselect/mxml
AST_LIBS += $(LIBXML2_LIB)
ifeq ($(POLL_AVAILABLE),)
Modified: team/group/appdocsxml/main/pbx.c
URL: http://svn.digium.com/view/asterisk/team/group/appdocsxml/main/pbx.c?view=diff&rev=151510&r1=151509&r2=151510
==============================================================================
--- team/group/appdocsxml/main/pbx.c (original)
+++ team/group/appdocsxml/main/pbx.c Wed Oct 22 09:55:58 2008
@@ -3007,22 +3007,28 @@
return ret;
}
- if (a->argc < 4)
+ if (a->argc < 4) {
return CLI_SHOWUSAGE;
+ }
if (!(acf = ast_custom_function_find(a->argv[3]))) {
ast_cli(a->fd, "No function by that name registered.\n");
return CLI_FAILURE;
}
- if (!ast_strlen_zero(acf->syntax))
+ if (!ast_strlen_zero(acf->syntax)) {
syntax_size = strlen(acf->syntax) + 23;
- else
+ } else {
syntax_size = strlen("Not available") + 23;
+ }
syntax = ast_malloc(syntax_size);
-
- snprintf(info, 64 + AST_MAX_APP, "\n -= Info about function '%s' =- \n\n", acf->name);
- term_color(infotitle, info, COLOR_MAGENTA, 0, 64 + AST_MAX_APP + 22);
+ if (!syntax) {
+ ast_cli(a->fd, "Memory allocation failure!\n");
+ return CLI_FAILURE;
+ }
+
+ snprintf(info, sizeof(info), "\n -= Info about function '%s' =- \n\n", acf->name);
+ term_color(infotitle, info, COLOR_MAGENTA, 0, sizeof(infotitle));
term_color(stxtitle, "[Syntax]\n", COLOR_MAGENTA, 0, 40);
term_color(argtitle, "[Arguments]\n", COLOR_MAGENTA, 0, 40);
term_color(syntitle, "[Synopsis]\n", COLOR_MAGENTA, 0, 40);
@@ -3035,30 +3041,45 @@
description = xmldoc_colorization(S_OR(acf->desc, "Not available"), COLOR_CYAN, COLOR_BLACK);
seealso = xmldoc_colorization(S_OR(acf->seealso, "Not available"), COLOR_CYAN, COLOR_BLACK);
#else
- if (!ast_strlen_zero(acf->synopsis))
+ if (!ast_strlen_zero(acf->synopsis)) {
synopsis_size = strlen(acf->synopsis) + 23;
- else
+ } else {
synopsis_size = strlen("Not available") + 23;
+ }
synopsis = ast_malloc(synopsis_size);
- if (!ast_strlen_zero(acf->desc))
+ if (!ast_strlen_zero(acf->desc)) {
description_size = strlen(acf->desc) + 23;
- else
+ } else {
description_size = strlen("Not available") + 23;
+ }
description = ast_malloc(description_size);
- if (!ast_strlen_zero(acf->arguments))
+ if (!ast_strlen_zero(acf->arguments)) {
arguments_size = strlen(acf->arguments) + 23;
- else
+ } else {
arguments_size = strlen("Not available") + 23;
+ }
arguments = ast_malloc(arguments_size);
- if (!ast_strlen_zero(acf->seealso))
+ if (!ast_strlen_zero(acf->seealso)) {
seealso_size = strlen(acf->seealso) + 23;
- else
+ } else {
seealso_size = strlen("Not available") + 23;
+ }
seealso = ast_malloc(seealso_size);
+ /* check allocated memory. */
+ if (!synopsis || !description || !arguments || !seealso) {
+ ast_cli(a->fd, "Memory allocation failure!\n");
+ ast_free(synopsis);
+ ast_free(description);
+ ast_free(arguments);
+ ast_free(seealso);
+ ast_free(syntax);
+ return CLI_FAILURE;
+ }
+
term_color(arguments, S_OR(acf->arguments, "Not available"), COLOR_CYAN, 0, arguments_size);
term_color(synopsis, S_OR(acf->synopsis, "Not available"), COLOR_CYAN, 0, synopsis_size);
term_color(description, S_OR(acf->desc, "Not available"), COLOR_CYAN, 0, description_size);
@@ -3157,14 +3178,15 @@
int postbrreallen = 0, i;
size_t postbrlen;
- if (postbr) {
- postbrlen = strlen(postbr);
- for (i = 0; i < postbrlen; i++) {
- if (postbr[i] == '\t') {
- postbrreallen += 8 - (postbrreallen % 8);
- } else {
- postbrreallen++;
- }
+ if (!postbr) {
+ return 0;
+ }
+ postbrlen = strlen(postbr);
+ for (i = 0; i < postbrlen; i++) {
+ if (postbr[i] == '\t') {
+ postbrreallen += 8 - (postbrreallen % 8);
+ } else {
+ postbrreallen++;
}
}
return postbrreallen;
@@ -3371,27 +3393,29 @@
if (!strncasecmp(bwinput + i, colorized_tags[c].inittag, strlen(colorized_tags[c].inittag))) {
tmp = strcasestr(bwinput + i + strlen(colorized_tags[c].inittag), colorized_tags[c].endtag);
- if (tmp) {
- len = tmp - (bwinput + i + strlen(colorized_tags[c].inittag));
- /* Setup color */
- term_color_code(colorized + strlen(colorized), colorized_tags[c].colorfg, colorized_tags[c].colorbg, 23);
-
- /* copy initial string replace */
- ast_copy_string(colorized + strlen(colorized), colorized_tags[c].init, strlen(colorized_tags[c].init) + 1);
-
- ast_copy_string(colorized + strlen(colorized), bwinput + i + strlen(colorized_tags[c].inittag), len + 1);
-
- /* copy the ending string replace */
- ast_copy_string(colorized + strlen(colorized), colorized_tags[c].end, strlen(colorized_tags[c].end) + 1);
-
- /* Continue with the last color. */
- term_color_code(colorized + strlen(colorized), base_fg, base_bg, 23);
-
- i += len + strlen(colorized_tags[c].endtag) + strlen(colorized_tags[c].inittag) - 1;
- actual_len = strlen(colorized);
- colorsection = 1;
- break;
+ if (!tmp) {
+ continue;
}
+
+ len = tmp - (bwinput + i + strlen(colorized_tags[c].inittag));
+
+ /* Setup color */
+ term_color_code(colorized + strlen(colorized), colorized_tags[c].colorfg, colorized_tags[c].colorbg, 23);
+
+ /* copy initial string replace */
+ ast_copy_string(colorized + strlen(colorized), colorized_tags[c].init, strlen(colorized_tags[c].init) + 1);
+ ast_copy_string(colorized + strlen(colorized), bwinput + i + strlen(colorized_tags[c].inittag), len + 1);
+
+ /* copy the ending string replace */
+ ast_copy_string(colorized + strlen(colorized), colorized_tags[c].end, strlen(colorized_tags[c].end) + 1);
+
+ /* Continue with the last color. */
+ term_color_code(colorized + strlen(colorized), base_fg, base_bg, 23);
+
+ i += len + strlen(colorized_tags[c].endtag) + strlen(colorized_tags[c].inittag) - 1;
+ actual_len = strlen(colorized);
+ colorsection = 1;
+ break;
}
}
if (!colorsection) {
@@ -3561,7 +3585,7 @@
ast_xml_node *node = fixnode;
for (node = fixnode->AST_XML_CHILD; node; node = node->AST_XML_NEXT) {
- if (!strcasecmp((char *)node->AST_XML_NAME, "argument")) {
+ if (!strcasecmp((const char *)node->AST_XML_NAME, "argument")) {
return 1;
}
}
@@ -3612,7 +3636,7 @@
/* Get order of evaluation. */
for (node = rootnode->AST_XML_CHILD; node; node = node->AST_XML_NEXT) {
- if (strcasecmp((char *)node->AST_XML_NAME, childname)) {
+ if (strcasecmp((const char *)node->AST_XML_NAME, childname)) {
continue;
}
required = 0;
@@ -3643,7 +3667,7 @@
if (reqfinode && reqlanode) {
/* check midnode */
for (node = rootnode->AST_XML_CHILD; node; node = node->AST_XML_NEXT) {
- if (strcasecmp((char *)node->AST_XML_NAME, childname)) {
+ if (strcasecmp((const char *)node->AST_XML_NAME, childname)) {
continue;
}
if (node != firstparam && node != lastparam) {
@@ -3674,7 +3698,7 @@
}
for (; node; node = GOTONEXT(reverse, node)) {
- if (strcasecmp((char *)node->AST_XML_NAME, childname)) {
+ if (strcasecmp((const char *)node->AST_XML_NAME, childname)) {
continue;
}
@@ -3699,7 +3723,7 @@
/* Defaults to 'false'. */
multiple = 0;
if ((multipletype = ast_xml_get_attribute(node, "multiple"))) {
- if (ast_true((char *)multipletype)) {
+ if (ast_true(multipletype)) {
multiple = 1;
}
ast_xml_free_attr(multipletype);
@@ -3707,7 +3731,7 @@
required = 0; /* Defaults to 'false'. */
if ((paramtype = ast_xml_get_attribute(node, "required"))) {
- if (ast_true((char *)paramtype)) {
+ if (ast_true(paramtype)) {
required = 1;
}
ast_xml_free_attr(paramtype);
@@ -3801,7 +3825,7 @@
}
for (node = node->AST_XML_CHILD; node; node = node->AST_XML_NEXT) {
- if (!strcasecmp((char *)node->AST_XML_NAME, "syntax")) {
+ if (!strcasecmp((const char *)node->AST_XML_NAME, "syntax")) {
break;
}
}
@@ -3835,7 +3859,7 @@
return ret;
}
- if (strcasecmp((char *)node->AST_XML_NAME, "para")) {
+ if (strcasecmp((const char *)node->AST_XML_NAME, "para")) {
return ret;
}
@@ -3851,7 +3875,7 @@
xmldoc_string_cleanup(tmptext, &tmpstr, 0);
ast_xml_free_text(tmptext);
if (tmpstr) {
- if (strcasecmp((char *)tmp->AST_XML_NAME, "text")) {
+ if (strcasecmp((const char *)tmp->AST_XML_NAME, "text")) {
ast_str_append(buffer, 0, "<%s>%s</%s>", tmp->AST_XML_NAME, tmpstr->str, tmp->AST_XML_NAME);
} else {
ast_str_append(buffer, 0, "%s", tmpstr->str);
@@ -3887,7 +3911,7 @@
}
for (i = 0; i < ARRAY_LEN(special_tags); i++) {
- if (!strcasecmp((char *)node->AST_XML_NAME, special_tags[i].tagname)) {
+ if (!strcasecmp((const char *)node->AST_XML_NAME, special_tags[i].tagname)) {
ret = 1;
/* This is a special tag. */
@@ -3982,7 +4006,7 @@
continue;
}
- if (!strcasecmp((char *)tmp->AST_XML_NAME, "value")) {
+ if (!strcasecmp((const char *)tmp->AST_XML_NAME, "value")) {
if (!printedpara) {
ast_str_append(buffer, 0, "\n");
printedpara = 1;
@@ -4034,7 +4058,7 @@
return ret;
}
- if (strcasecmp((char *)node->AST_XML_NAME, "variablelist")) {
+ if (strcasecmp((const char *)node->AST_XML_NAME, "variablelist")) {
return ret;
}
@@ -4053,7 +4077,7 @@
continue;
}
- if (!strcasecmp((char *)tmp->AST_XML_NAME, "variable")) {
+ if (!strcasecmp((const char *)tmp->AST_XML_NAME, "variable")) {
/* Store the variable name in buffer. */
varname = ast_xml_get_attribute(tmp, "name");
if (varname) {
@@ -4081,9 +4105,10 @@
static char *xmldoc_parse_seealso(const char *type, const char *name)
{
struct ast_str *outputstr;
- char *output, *content;
+ char *output;
ast_xml_node *node;
ast_xml_attr *typename;
+ ast_xml_text *content;
if (ast_strlen_zero(type) || ast_strlen_zero(name)) {
return NULL;
@@ -4097,7 +4122,7 @@
/* Find the <see-also> node. */
for (node = node->AST_XML_CHILD; node; node = node->AST_XML_NEXT) {
- if (!strcasecmp((char *)node->AST_XML_NAME, "see-also")) {
+ if (!strcasecmp((const char *)node->AST_XML_NAME, "see-also")) {
break;
}
}
@@ -4115,29 +4140,31 @@
/* get into the <see-also> node. */
for (node = node->AST_XML_CHILD; node; node = node->AST_XML_NEXT) {
- if (strcasecmp((char *)node->AST_XML_NAME, "ref")) {
+ if (strcasecmp((const char *)node->AST_XML_NAME, "ref")) {
continue;
}
/* parse the <ref> node. 'type' attribute is required. */
typename = ast_xml_get_attribute(node, "type");
- if (typename) {
- content = ast_xml_get_text(node);
- if (content) {
- if (!strcasecmp(typename, "application") || !strcasecmp(typename, "function")) {
- ast_str_append(&outputstr, 0, "%s: Type <astcli>core show %s %s</astcli> for more info.\n",
- content, typename, content);
- } else if (!strcasecmp(typename, "astcli")) {
- ast_str_append(&outputstr, 0, "%s: Type <astcli>help %s</astcli> for more info.\n", content, content);
- } else if (!strcasecmp(typename, "link")) {
- ast_str_append(&outputstr, 0, "%s\n", content);
- } else if (!strcasecmp(typename, "manpage")) {
- ast_str_append(&outputstr, 0, "ManPage: %s\n", content);
- }
- ast_xml_free_text(content);
- }
+ if (!typename) {
+ continue;
+ }
+ content = ast_xml_get_text(node);
+ if (!content) {
ast_xml_free_attr(typename);
- }
+ continue;
+ }
+ if (!strcasecmp(typename, "application") || !strcasecmp(typename, "function")) {
+ ast_str_append(&outputstr, 0, "%s: Type <astcli>core show %s %s</astcli> for more info.\n",
+ content, typename, content);
+ } else if (!strcasecmp(typename, "astcli")) {
+ ast_str_append(&outputstr, 0, "%s: Type <astcli>help %s</astcli> for more info.\n", content, content);
+ } else if (!strcasecmp(typename, "link")) {
+ ast_str_append(&outputstr, 0, "%s\n", content);
+ } else if (!strcasecmp(typename, "manpage")) {
+ ast_str_append(&outputstr, 0, "ManPage: %s\n", content);
+ }
+ ast_xml_free_text(content);
}
output = ast_strdup(outputstr->str);
@@ -4182,7 +4209,7 @@
int ret = 0;
for (node = node->AST_XML_CHILD; node; node = node->AST_XML_NEXT) {
- if (strcasecmp((char *)node->AST_XML_NAME, "enum")) {
+ if (strcasecmp((const char *)node->AST_XML_NAME, "enum")) {
continue;
}
@@ -4222,7 +4249,7 @@
return ret;
}
for (node = fixnode->AST_XML_CHILD; node; node = node->AST_XML_NEXT) {
- if (!strcasecmp((char *)node->AST_XML_NAME, "argument")) {
+ if (!strcasecmp((const char *)node->AST_XML_NAME, "argument")) {
/* if this is the first data appended to buffer, print a \n*/
if (!ret && node->AST_XML_CHILD) {
/* print \n */
@@ -4264,7 +4291,7 @@
for (node = fixnode->AST_XML_CHILD; node; node = node->AST_XML_NEXT) {
/* Start appending every option tag. */
- if (strcasecmp((char *)node->AST_XML_NAME, "option")) {
+ if (strcasecmp((const char *)node->AST_XML_NAME, "option")) {
continue;
}
@@ -4301,7 +4328,7 @@
int hasarguments, printed = 0;
char *internaltabs;
- if (strcasecmp((char *)node->AST_XML_NAME, "parameter")) {
+ if (strcasecmp((const char *)node->AST_XML_NAME, "parameter")) {
return;
}
@@ -4323,13 +4350,13 @@
}
for (node = node->AST_XML_CHILD; node; node = node->AST_XML_NEXT) {
- if (!strcasecmp((char *)node->AST_XML_NAME, "optionlist")) {
+ if (!strcasecmp((const char *)node->AST_XML_NAME, "optionlist")) {
xmldoc_parse_optionlist(node, internaltabs, buffer);
- } else if (!strcasecmp((char *)node->AST_XML_NAME, "enumlist")) {
+ } else if (!strcasecmp((const char *)node->AST_XML_NAME, "enumlist")) {
xmldoc_parse_enumlist(node, internaltabs, buffer);
- } else if (!strcasecmp((char *)node->AST_XML_NAME, "argument")) {
+ } else if (!strcasecmp((const char *)node->AST_XML_NAME, "argument")) {
xmldoc_parse_argument(node, 1, internaltabs, (!hasarguments ? " " : ""), buffer);
- } else if (!strcasecmp((char *)node->AST_XML_NAME, "para")) {
+ } else if (!strcasecmp((const char *)node->AST_XML_NAME, "para")) {
if (!printed) {
ast_str_append(buffer, 0, "%s\n", paramname);
ast_xml_free_attr(paramname);
@@ -4370,7 +4397,7 @@
/* Find the syntax field. */
for (node = node->AST_XML_CHILD; node; node = node->AST_XML_NEXT) {
- if (!strcasecmp((char *)node->AST_XML_NAME, "syntax")) {
+ if (!strcasecmp((const char *)node->AST_XML_NAME, "syntax")) {
break;
}
}
@@ -4409,8 +4436,8 @@
static struct ast_str *xmldoc_get_formatted(ast_xml_node *node, int raw_output, int raw_wrap)
{
ast_xml_node *tmp;
+ ast_xml_text *notcleanret, *tmpstr;
struct ast_str *ret = ast_str_create(128);
- char *notcleanret, *tmpstr;
if (raw_output) {
notcleanret = ast_xml_get_text(node);
@@ -4503,7 +4530,7 @@
return -1;
}
- /* load synopsis */
+ /* load synopsis */
tmpxml = xmldoc_get_field("function", acf->name, "synopsis", 1);
ast_string_field_set(acf, synopsis, tmpxml);
ast_free(tmpxml);
@@ -6367,7 +6394,7 @@
continue;
}
/* Check root node name for malformed xmls. */
- if (strcmp((char *)root_node->AST_XML_NAME, "docs")) {
+ if (strcmp((const char *)root_node->AST_XML_NAME, "docs")) {
ast_log(LOG_ERROR, "Documentation file is not well formed!\n");
ast_xml_close(tmpdoc);
continue;
@@ -6461,8 +6488,9 @@
return ret;
}
- if (a->argc < 4)
+ if (a->argc < 4) {
return CLI_SHOWUSAGE;
+ }
/* ... go through all applications ... */
AST_RWLIST_RDLOCK(&apps);
@@ -6483,34 +6511,39 @@
no_registered_app = 0;
#ifndef XML_DOCUMENTATION
- if (!ast_strlen_zero(aa->synopsis))
+ if (!ast_strlen_zero(aa->synopsis)) {
synopsis_size = strlen(aa->synopsis) + 23;
- else
+ } else {
synopsis_size = strlen("Not available") + 23;
+ }
synopsis = ast_malloc(synopsis_size);
- if (!ast_strlen_zero(aa->description))
+ if (!ast_strlen_zero(aa->description)) {
description_size = strlen(aa->description) + 23;
- else
+ } else {
description_size = strlen("Not available") + 23;
+ }
description = ast_malloc(description_size);
- if (!ast_strlen_zero(aa->arguments))
+ if (!ast_strlen_zero(aa->arguments)) {
arguments_size = strlen(aa->arguments) + 23;
- else
+ } else {
arguments_size = strlen("Not available") + 23;
+ }
arguments = ast_malloc(arguments_size);
- if (!ast_strlen_zero(aa->seealso))
+ if (!ast_strlen_zero(aa->seealso)) {
seealso_size = strlen(aa->seealso) + 23;
- else
+ } else {
seealso_size = strlen("Not available") + 23;
+ }
seealso = ast_malloc(seealso_size);
#endif
- if (!ast_strlen_zero(aa->syntax))
+ if (!ast_strlen_zero(aa->syntax)) {
syntax_size = strlen(aa->syntax) + 23;
- else
+ } else {
syntax_size = strlen("Not available") + 23;
+ }
syntax = ast_malloc(syntax_size);
#ifdef XML_DOCUMENTATION
@@ -6518,8 +6551,8 @@
#else
if (syntax && description && arguments && synopsis) {
#endif
- snprintf(info, 64 + AST_MAX_APP, "\n -= Info about application '%s' =- \n\n", aa->name);
- term_color(infotitle, info, COLOR_MAGENTA, 0, 64 + AST_MAX_APP + 22);
+ snprintf(info, sizeof(info), "\n -= Info about application '%s' =- \n\n", aa->name);
+ term_color(infotitle, info, COLOR_MAGENTA, 0, sizeof(infotitle));
term_color(stxtitle, "[Syntax]\n", COLOR_MAGENTA, 0, 40);
term_color(argtitle, "[Arguments]\n", COLOR_MAGENTA, 0, 40);
term_color(syntitle, "[Synopsis]\n", COLOR_MAGENTA, 0, 40);
Modified: team/group/appdocsxml/main/xml.c
URL: http://svn.digium.com/view/asterisk/team/group/appdocsxml/main/xml.c?view=diff&rev=151510&r1=151509&r2=151510
==============================================================================
--- team/group/appdocsxml/main/xml.c (original)
+++ team/group/appdocsxml/main/xml.c Wed Oct 22 09:55:58 2008
@@ -103,7 +103,7 @@
void ast_xml_free_text(ast_xml_text *text)
{
if (text) {
- xmlFree(text);
+ xmlFree((char *)text);
}
}
@@ -133,9 +133,7 @@
return NULL;
}
- cur = root_node;
-
- while (cur) {
+ for (cur = root_node; cur; cur = cur->next) {
/* Check if the name matchs */
if (!strcmp((char *)cur->name, name)) {
/* We need to check for a specific attribute name? */
@@ -153,19 +151,18 @@
return cur;
}
}
- cur = cur->next;
}
return NULL;
}
-char *ast_xml_get_text(ast_xml_node *node)
+const char *ast_xml_get_text(ast_xml_node *node)
{
if (!node) {
return NULL;
}
- return (char *)xmlNodeGetContent(node);
+ return (const char *)xmlNodeGetContent(node);
}
#endif /* defined(HAVE_LIBXML2) && !defined(AST_XML_IMPLEMENTATION) */
More information about the asterisk-commits
mailing list