On Thu, Dec 27, 2012 at 10:08:07PM +0100, Abou Al Montacir wrote: > + if (r == XZ_STREAM_END) { > + /* Eat padding. Stream never starts with zeros, and > padding is 32 aligned */ > + while ((iobuf.in_pos < iobuf.in_size) && > (iobuf.in[iobuf.in_pos] == 0)) { > + iobuf.in_pos += 1; > + } > + /* Reached end of buffer. Fill it again from stream */ > + if (iobuf.in_pos == iobuf.in_size) { > + continue; > + } > + if(iobuf.in_pos % 4){
Are you sure this is correct? in_pos is the position in tht buffer, not the file. Also look out for coding style. > + if (r == XZ_STREAM_END) { Again the same check? > if (r == XZ_STREAM_END) { > - break; > + xz_dec_end(state); > + /* Look for any other streams */ > + continue; Why do you have three XZ_STREAM_END checks in this state machine? Bastian -- There are always alternatives. -- Spock, "The Galileo Seven", stardate 2822.3 -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org