diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-08-12 19:18:21 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-08-12 19:18:21 +0000 |
| commit | 1045079482453424f8320de99639390e3020eb72 (patch) | |
| tree | b15a4e7f21b4f21f668beb780127226f216d3e56 /plugins/menu | |
| parent | 9ea78a4eb0255e8cca6258e5ceb4bfd3e9e9d59e (diff) | |
adjust for changes to the parsing api.
split the menu into its own file.
Diffstat (limited to 'plugins/menu')
| -rw-r--r-- | plugins/menu/fifo_menu.c | 18 | ||||
| -rw-r--r-- | plugins/menu/include_menu.c | 2 | ||||
| -rw-r--r-- | plugins/menu/timed_menu.c | 26 |
3 files changed, 23 insertions, 23 deletions
diff --git a/plugins/menu/fifo_menu.c b/plugins/menu/fifo_menu.c index cb35579e..c096a9d3 100644 --- a/plugins/menu/fifo_menu.c +++ b/plugins/menu/fifo_menu.c @@ -101,6 +101,7 @@ void fifo_menu_handler(int fd, void *d) { num_realloc); if (num_read == 0) { /* eof */ + ObParseInst *i; xmlDocPtr doc; xmlNodePtr node; @@ -109,16 +110,15 @@ void fifo_menu_handler(int fd, void *d) { FIFO_MENU_DATA(menu)->buf[FIFO_MENU_DATA(menu)->buflen] = '\0'; - doc = xmlParseMemory(FIFO_MENU_DATA(menu)->buf, - FIFO_MENU_DATA(menu)->buflen); + i = parse_startup(); + + if (parse_load_mem(FIFO_MENU_DATA(menu)->buf, + FIFO_MENU_DATA(menu)->buflen, + "fifo_menu", &doc, &node)) + parse_menu_full(i, doc, node, menu, FALSE); + + parse_shutdown(i); - node = xmlDocGetRootElement(doc); - - if (node && - !xmlStrcasecmp(node->name, (const xmlChar*) "fifo_menu")) { - parse_menu_full(doc, node, menu, FALSE); - } - fifo_menu_clean_up(menu); event_remove_fd(FIFO_MENU_DATA(menu)->handler->fd); diff --git a/plugins/menu/include_menu.c b/plugins/menu/include_menu.c index 2335f9e0..2133e9d2 100644 --- a/plugins/menu/include_menu.c +++ b/plugins/menu/include_menu.c @@ -46,7 +46,7 @@ void *plugin_create(PluginMenuCreateData *data) if (doc) { xmlNodePtr node = xmlDocGetRootElement(doc); if (node) { - parse_menu_full(doc, node, m, FALSE); + parse_menu_full(data->parse_inst, doc, node, m, FALSE); } xmlFreeDoc(doc); } diff --git a/plugins/menu/timed_menu.c b/plugins/menu/timed_menu.c index 38a20edc..83ae5aa8 100644 --- a/plugins/menu/timed_menu.c +++ b/plugins/menu/timed_menu.c @@ -125,6 +125,7 @@ void timed_menu_read_pipe(int fd, void *d) TIMED_MENU_DATA(menu)->buf + TIMED_MENU_DATA(menu)->buflen, num_realloc); if (num_read == 0) { + ObParseInst *i; xmlDocPtr doc; xmlNodePtr node; @@ -133,15 +134,14 @@ void timed_menu_read_pipe(int fd, void *d) TIMED_MENU_DATA(menu)->buf[TIMED_MENU_DATA(menu)->buflen] = '\0'; - doc = xmlParseMemory(TIMED_MENU_DATA(menu)->buf, - TIMED_MENU_DATA(menu)->buflen); + i = parse_startup(); - node = xmlDocGetRootElement(doc); + if (parse_load_mem(TIMED_MENU_DATA(menu)->buf, + TIMED_MENU_DATA(menu)->buflen, + "timed_menu", &doc, &node)) + parse_menu_full(i, doc, node, menu, FALSE); - if (node && - !xmlStrcasecmp(node->name, (const xmlChar*) "timed_menu")) { - parse_menu_full(doc, node, menu, FALSE); - } + parse_shutdown(i); timed_menu_clean_up(menu); } else if (num_read > 0) { @@ -205,6 +205,7 @@ void timed_menu_timeout_handler(ObTimer *t, void *d) } if (stat_buf.st_mtime > TIMED_MENU_DATA(data)->mtime) { + ObParseInst *i; xmlDocPtr doc; xmlNodePtr node; @@ -214,14 +215,13 @@ void timed_menu_timeout_handler(ObTimer *t, void *d) data->invalid = TRUE; menu_clear(data); - doc = xmlParseFile(TIMED_MENU_DATA(data)->command); + i = parse_startup(); - node = xmlDocGetRootElement(doc); + if (parse_load(TIMED_MENU_DATA(data)->command, + "timed_menu", &doc, &node)) + parse_menu_full(i, doc, node, data, FALSE); - if (node && - !xmlStrcasecmp(node->name, (const xmlChar*) "timed_menu")) { - parse_menu_full(doc, node, data, FALSE); - } + parse_shutdown(i); timed_menu_clean_up(data); } |
