+ iscz1_encode(keys->codec_handle, &dst, &src);
+
+ *dst++ = reg_type;
+ memcpy (dst, str, slen);
+ dst += slen;
+ *dst++ = '\0';
+ keys->buf_used = dst - keys->buf;
+}
+
+void extract_add_index_string (RecWord *p, const char *str, int length)
+{
+ struct it_key key;
+
+ ZebraHandle zh = p->extractCtrl->handle;
+ ZebraExplainInfo zei = zh->reg->zei;
+ int ch;
+
+ if (p->attrStr)
+ {
+ ch = zebraExplain_lookup_attr_str(zei, p->attrStr);
+ if (ch < 0)
+ ch = zebraExplain_add_attr_str(zei, p->attrStr);
+ }
+ else
+ {
+ ch = zebraExplain_lookup_attr_su(zei, p->attrSet, p->attrUse);
+ if (ch < 0)
+ ch = zebraExplain_add_attr_su(zei, p->attrSet, p->attrUse);
+ }
+ key.len = 4;
+ key.mem[0] = ch;
+ key.mem[1] = p->record_id;
+ key.mem[2] = p->section_id;
+ key.mem[3] = p->seqno;