parser-xml: Pass root element in parse_file().
Instead of setting it directly to struct parser_data. Also remove unused root from the struct.
This commit is contained in:
parent
dd83f69d87
commit
d885b86121
1 changed files with 4 additions and 6 deletions
|
|
@ -319,7 +319,6 @@ struct parser_data {
|
|||
const char *fn;
|
||||
unsigned lineno;
|
||||
|
||||
const struct element_parser *root;
|
||||
const struct element_parser *current;
|
||||
struct element_parser_stack *stack;
|
||||
|
||||
|
|
@ -834,7 +833,7 @@ done:
|
|||
return parsed;
|
||||
}
|
||||
|
||||
static bool parse_file(struct parser_data *data, const char *filename) {
|
||||
static bool parse_file(struct parser_data *data, const struct element_parser *root, const char *filename) {
|
||||
char buf[BUFSIZ];
|
||||
FILE *f = NULL;
|
||||
XML_Parser parser = NULL;
|
||||
|
|
@ -858,6 +857,8 @@ static bool parse_file(struct parser_data *data, const char *filename) {
|
|||
if (!data->conf)
|
||||
data->conf = pa_xnew0(struct audio_policy_configuration, 1);
|
||||
|
||||
data->current = root;
|
||||
|
||||
XML_SetUserData(parser, data);
|
||||
XML_SetElementHandler(parser, xml_start_element, xml_end_element);
|
||||
XML_SetCharacterDataHandler(parser, xml_character_data_handler);
|
||||
|
|
@ -1029,10 +1030,7 @@ pa_droid_config_audio *pa_parse_droid_audio_config_xml(const char *filename) {
|
|||
|
||||
memset(&data, 0, sizeof(data));
|
||||
|
||||
data.root = &element_parse_root;
|
||||
data.current = data.root;
|
||||
|
||||
if (!(ret = parse_file(&data, filename)))
|
||||
if (!(ret = parse_file(&data, &element_parse_root, filename)))
|
||||
goto done;
|
||||
|
||||
config = convert_config(data.conf);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue