I'm reading the sam source (very educational) and I've stumbled across a piece I don't understand, in buff.c:^bufreset:
for(i=b->nbl-1; --i>=0; ) delblock(b, i); Doesn't this delete b-nbl-1 blocks? Also delblock would always call memmove, moving 1 block at the end, if I read it correctly.