- SV *sv_term = f_Term_to_SV(facet_field->terms[i]->term, 0);
- SV *tmp = newObject("Net::Z3950::FacetTerm", (SV *) (hv = newHV()));
+ SV *sv_term;
+ SV *tmp;
+ if (z_term->which == Z_Term_general) {
+ sv_term = newSVpv((char*) z_term->u.general->buf,
+ z_term->u.general->len);
+ } else if (z_term->which == Z_Term_characterString) {
+ sv_term = newSVpv(z_term->u.characterString,
+ strlen(z_term->u.characterString));
+ }
+ tmp = newObject("Net::Z3950::FacetTerm", (SV *) (hv = newHV()));