+#if 1
+ ZebraHandle zh = p->extractCtrl->handle;
+ struct sortKeys *sk = &zh->reg->sortKeys;
+ size_t off = 0;
+ int slen;
+
+ while (off < sk->buf_used)
+ {
+ int set, use, l;
+
+ l = key_SU_decode(&set, sk->buf + off);
+ off += l;
+ l = key_SU_decode(&use, sk->buf + off);
+ off += l;
+ l = key_SU_decode(&slen, sk->buf + off);
+ off += l + slen;
+ if (p->attrSet == set && p->attrUse == use)
+ return;
+ }
+ assert (off == sk->buf_used);
+
+ if (sk->buf_used + IT_MAX_WORD > sk->buf_max)
+ {
+ char *b;
+
+ b = (char *) xmalloc (sk->buf_max += 128000);
+ if (sk->buf_used > 0)
+ memcpy (b, sk->buf, sk->buf_used);
+ xfree (sk->buf);
+ sk->buf = b;
+ }
+ off += key_SU_encode(p->attrSet, sk->buf + off);
+ off += key_SU_encode(p->attrUse, sk->buf + off);
+ slen = strlen(string);
+ off += key_SU_encode(slen, sk->buf + off);
+ memcpy (sk->buf + off, string, slen);
+ sk->buf_used = off + slen;
+#else