Index: util_parse.c =================================================================== --- util_parse.c (revision 2157) +++ util_parse.c (revision 2158) @@ -84,7 +84,7 @@ /*** lihata parsers ***/ -static void csch_lht_parse_attribs_val(csch_sheet_t *sheet, csch_chdr_t *dsth, csch_attribs_t *dsta, csch_source_arg_t src, lht_node_t *n, char *src_append_loc, void (*error)(void *ectx, lht_node_t *n, const char *msg), void *ectx, int prio) +static void csch_lht_parse_attribs_val(csch_sheet_t *sheet, csch_chdr_t *dsth, csch_attribs_t *dsta, csch_source_arg_t src, const char *key, lht_node_t *n, char *src_append_loc, void (*error)(void *ectx, lht_node_t *n, const char *msg), void *ectx, int prio) { lht_node_t *i, *np, *nv; long idx; @@ -94,9 +94,9 @@ case LHT_TEXT: /* plain text: scalar attrib */ val = n->data.text.value; if (dsth != NULL) - csch_cobj_attrib_set(sheet, dsth, prio, n->name, val, src); + csch_cobj_attrib_set(sheet, dsth, prio, key, val, src); else - csch_attrib_set(dsta, prio, n->name, val, src, NULL); + csch_attrib_set(dsta, prio, key, val, src, NULL); break; case LHT_LIST: /* array attrib */ for(i = n->data.list.first, idx = 0; i != NULL; i = i->next) { @@ -106,9 +106,9 @@ } val = i->data.text.value; if (dsth != NULL) - csch_cobj_attrib_seti(sheet, dsth, prio, n->name, idx, val, src); + csch_cobj_attrib_seti(sheet, dsth, prio, key, idx, val, src); else - csch_attrib_seti(dsta, prio, n->name, idx, val, src, NULL); + csch_attrib_seti(dsta, prio, key, idx, val, src, NULL); idx++; } break; @@ -141,7 +141,7 @@ return; } } - csch_lht_parse_attribs_val(sheet, dsth, dsta, src, nv, src_append_loc, error, ectx, prio); + csch_lht_parse_attribs_val(sheet, dsth, dsta, src, key, nv, src_append_loc, error, ectx, prio); break; default: error(ectx, n, "invalid node type for an attribute"); @@ -160,7 +160,7 @@ if (src_append_loc != NULL) sprintf(src_append_loc, "%d.%d", n->line, n->col); - csch_lht_parse_attribs_val(sheet, dsth, dsta, src, n, src_append_loc, error, ectx, CSCH_ATP_USER_DEFAULT); + csch_lht_parse_attribs_val(sheet, dsth, dsta, src, n->name, n, src_append_loc, error, ectx, CSCH_ATP_USER_DEFAULT); } return 0; }