summaryrefslogtreecommitdiff
path: root/navit/script.c
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-05-24 19:57:56 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-05-24 19:57:56 +0000
commit3660c60911784fd56ffc8f34dd9624725639f0af (patch)
tree69ad6bae6401b0135ccad9757f2bb7d36421e163 /navit/script.c
parent3cf04197c13278018ed83f411ab349b38627bfcf (diff)
downloadnavit-3660c60911784fd56ffc8f34dd9624725639f0af.tar.gz
Add:Core:Made script tag work
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5504 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/script.c')
-rw-r--r--navit/script.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/navit/script.c b/navit/script.c
index f9d395047..9c672740b 100644
--- a/navit/script.c
+++ b/navit/script.c
@@ -27,7 +27,7 @@
struct script
{
NAVIT_OBJECT
- char *text;
+ struct attr parent;
struct callback *cb;
struct event_timeout *timeout;
};
@@ -36,11 +36,13 @@ static void
script_run(struct script *scr)
{
struct attr *xml_text=attr_search(scr->attrs, NULL, attr_xml_text);
+ int error;
if (!xml_text || !xml_text->u.str) {
dbg(0,"no text\n");
return;
}
dbg(0,"running '%s'\n",xml_text->u.str);
+ command_evaluate_to_void(&scr->parent, xml_text->u.str, &error);
}
static int
@@ -66,6 +68,7 @@ script_new(struct attr *parent, struct attr **attrs)
scr->attrs=attr_list_dup(attrs);
attrs=scr->attrs;
scr->cb=callback_new_1(callback_cast(script_run), scr);
+ attr_dup_content(parent, &scr->parent);
while (attrs && *attrs)
script_set_attr_int(scr, *attrs++);
dbg(0,"return %p\n",scr);