- wrd->reg_type = 'w';
- wrd->string = n->u.tag.tag;
- wrd->length = strlen(n->u.tag.tag);
- wrd->attrSet = VAL_BIB1;
+ for (nn = n; nn; nn = nn->parent)
+ {
+ if (n->which == DATA1N_tag)
+ {
+ size_t tlen = strlen(nn->u.tag.tag);
+ if (tlen + flen > (sizeof(tag_path_full)-2))
+ return;
+ memcpy (tag_path_full + flen, nn->u.tag.tag, tlen);
+ flen += tlen;
+ tag_path_full[flen++] = '/';
+ }
+ else if (n->which == DATA1N_root)
+ {
+ size_t tlen = strlen(nn->u.root.type);
+ if (tlen + flen > (sizeof(tag_path_full)-2))
+ return;
+ memcpy (tag_path_full + flen, nn->u.root.type, tlen);
+ flen += tlen;
+ tag_path_full[flen++] = '/';
+ break;
+ }
+ }
+ wrd->reg_type = '0';
+ wrd->string = tag_path_full;
+ wrd->length = flen;
+ wrd->attrSet = VAL_IDXPATH,