X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=sherlock%2Fxml%2Fdtd.c;h=8c50a53265785502445376e1f27bebc46a8d43ac;hb=7462f9e27978542b37e1745b9a8fa80fb07dab3d;hp=0abca72a269f1c8ccb387e831b8b6037f5116cf0;hpb=5da13cd16371faa6df5b880387b5b172a1704aef;p=libucw.git diff --git a/sherlock/xml/dtd.c b/sherlock/xml/dtd.c index 0abca72a..8c50a532 100644 --- a/sherlock/xml/dtd.c +++ b/sherlock/xml/dtd.c @@ -136,6 +136,14 @@ xml_dtd_find_pentity(struct xml_context *ctx, char *name) /* Elements */ +struct xml_dtd_elems_table; + +static void +xml_dtd_elems_init_data(struct xml_dtd_elems_table *tab UNUSED, struct xml_dtd_elem *e) +{ + slist_init(&e->attrs); +} + #define HASH_PREFIX(x) xml_dtd_elems_##x #define HASH_NODE struct xml_dtd_elem #define HASH_KEY_STRING name @@ -144,6 +152,7 @@ xml_dtd_find_pentity(struct xml_context *ctx, char *name) #define HASH_WANT_FIND #define HASH_WANT_LOOKUP #define HASH_GIVE_ALLOC +#define HASH_GIVE_INIT_DATA #define HASH_TABLE_ALLOC XML_HASH_GIVE_ALLOC #include "lib/hashtable.h" @@ -214,6 +223,7 @@ xml_dtd_attrs_init_key(struct xml_dtd_attrs_table *tab UNUSED, struct xml_dtd_at { attr->elem = elem; attr->name = name; + slist_add_tail(&elem->attrs, &attr->n); } #define HASH_PREFIX(x) xml_dtd_attrs_##x