aboutsummaryrefslogtreecommitdiff
path: root/livetree.c
diff options
context:
space:
mode:
authorDavid Gibson <dgibson@sneetch.(none)>2005-06-16 14:36:37 +1000
committerDavid Gibson <dgibson@sneetch.(none)>2005-06-16 14:36:37 +1000
commit4102d840d993e7cce7d5c5aea8ef696dc81236fc (patch)
treeab70f0a9e968780ed282f1bbd8d7ea1be3db5b6b /livetree.c
parentfc14dad7692d84d5f0f547fd0456b3f98526b6cc (diff)
downloaddtc-4102d840d993e7cce7d5c5aea8ef696dc81236fc.zip
dtc-4102d840d993e7cce7d5c5aea8ef696dc81236fc.tar.gz
dtc-4102d840d993e7cce7d5c5aea8ef696dc81236fc.tar.bz2
Initial label support. Also switch to glr-parser mode and get rid of
hacks that were necessary without it.
Diffstat (limited to 'livetree.c')
-rw-r--r--livetree.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/livetree.c b/livetree.c
index 227b5e8..04f5228 100644
--- a/livetree.c
+++ b/livetree.c
@@ -24,7 +24,7 @@
* Tree building functions
*/
-struct property *build_property(char *name, struct data val)
+struct property *build_property(char *name, struct data val, char *label)
{
struct property *new = xmalloc(sizeof(*new));
@@ -33,10 +33,12 @@ struct property *build_property(char *name, struct data val)
new->next = NULL;
+ new->label = label;
+
return new;
}
-struct property *build_empty_property(char *name)
+struct property *build_empty_property(char *name, char *label)
{
struct property *new = xmalloc(sizeof(*new));
@@ -46,6 +48,8 @@ struct property *build_empty_property(char *name)
new->next = NULL;
+ new->label = label;
+
return new;
}
@@ -74,11 +78,14 @@ struct node *build_node(struct property *proplist, struct node *children)
return new;
}
-struct node *name_node(struct node *node, char *name)
+struct node *name_node(struct node *node, char *name, char * label)
{
assert(node->name == NULL);
node->name = name;
+
+ node->label = label;
+
return node;
}