diff --git a/doc/appdocsxml.dtd b/doc/appdocsxml.dtd index 8ac6ac587c..ba0ef2726c 100644 --- a/doc/appdocsxml.dtd +++ b/doc/appdocsxml.dtd @@ -41,7 +41,7 @@ - + diff --git a/main/xmldoc.c b/main/xmldoc.c index 230b8a4c80..f483f8b0a9 100644 --- a/main/xmldoc.c +++ b/main/xmldoc.c @@ -58,6 +58,7 @@ struct documentation_tree { }; static char *xmldoc_get_syntax_cmd(struct ast_xml_node *fixnode, const char *name, int printname); +static int xmldoc_parse_enumlist(struct ast_xml_node *fixnode, const char *tabs, struct ast_str **buffer); /*! * \brief Container of documentation trees @@ -1398,6 +1399,9 @@ static int xmldoc_parse_enum(struct ast_xml_node *fixnode, const char *tabs, str { struct ast_xml_node *node = fixnode; int ret = 0; + char *optiontabs; + + ast_asprintf(&optiontabs, "%s ", tabs); for (node = ast_xml_node_get_children(node); node; node = ast_xml_node_get_next(node)) { if ((xmldoc_parse_para(node, (ret ? tabs : " - "), "\n", buffer))) { @@ -1405,7 +1409,12 @@ static int xmldoc_parse_enum(struct ast_xml_node *fixnode, const char *tabs, str } else if ((xmldoc_parse_specialtags(node, (ret ? tabs : " - "), "\n", buffer))) { ret = 1; } + + xmldoc_parse_enumlist(node, optiontabs, buffer); } + + ast_free(optiontabs); + return ret; }