rendered paste bodysize_t
extractToStopPacked (void* data, size_t size, void* buf, size_t len)
{
u_char* in = data;
u_char* out = buf;
size_t i;
u_char ch;
size_t used;
u_int shift;
used = 0;
shift = 1;
for (i = 0; i < size; i++)
{
ch = in[i] & ~FAST_STOP_BIT;
out[used] = ch << shift;
if (LIKELY (shift != 1))
out[used - 1] |= (ch >> (8 - shift));
used++;
if (UNLIKELY (in[i] & FAST_STOP_BIT))
break;
if (UNLIKELY (used == len))
return 0;
if (UNLIKELY (shift == 8))
shift = 1;
else
shift++;
}
return used;
}