- int i;
- for (; (i = *il) != 0; il++, old_mem += 4)
- add_num (s->flat_attrs, s->attr_next_free, i, FLAT_ATTR_BLOCK);
- add_num (s->flat_attrs, s->attr_next_free, 0, FLAT_ATTR_BLOCK);
- old_mem+=4;
+ int len = *il++;
+ //add_num (s->flat_attrs, s->attr_next_free, len, FLAT_ATTR_BLOCK);
+ old_mem += 4 * (len + 1);
+ while (len--)
+ {
+ int i = *il++;
+ if (i >= 64)
+ i = (i & 63) | ((i & ~63) << 1);
+ if (len)
+ i |= 64;
+ add_num (s->flat_attrs, s->attr_next_free, i, FLAT_ATTR_BLOCK);
+ }