> On July 4, 2016, 9:39 p.m., David Faure wrote: > > src/kgzipfilter.cpp, line 331 > > <https://git.reviewboard.kde.org/r/128369/diff/1/?file=471082#file471082line331> > > > > This is where you could add something like > > if (avail_in < 10) { > > return Ok; // come back when we have more > > } > > if (readHeader()) { ... } > > no? > > Martin Tobias Holmedahl Sandsmark wrote: > Then we'd need to somehow save what we currently have in the buffer and > concatenate with the next. I tested this with setting BUFFER_SIZE to 29 bytes > (the stream in Sune's test file is 28 bytes). > > I don't really think handling an uncompressed stream after the compressed > one is something we really need to care about, so just ignoring the header I > think is good enough for now, or?
Ah right I thought we would get these bytes at the next iteration, but indeed that's now how next_in works. OK. - David ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/128369/#review97103 ----------------------------------------------------------- On July 4, 2016, 10:33 p.m., Martin Tobias Holmedahl Sandsmark wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/128369/ > ----------------------------------------------------------- > > (Updated July 4, 2016, 10:33 p.m.) > > > Review request for KDE Frameworks and Sune Vuorela. > > > Repository: karchive > > > Description > ------- > > Handle multiple gzip streams > > If kgzipfilter notices that zlib didn't read all the data, it tries to > re-init the stream and read the rest of the buffer. This is tested by > the unit test from Sune. The case where there's more than two streams > available in the current buffer is tested in a unit test added > separately. > > If the split between the streams falls right between two buffers, we > need KCompressionDevice to notice that there's data left and try to > continue decompressing. This is easy to test by setting BUFFER_SIZE to > the size of the first stream in the unit test data (28 bytes). > > > Diffs > ----- > > autotests/kfiltertest.cpp 4408dbe > src/kcompressiondevice.cpp d6ecebd > src/kgzipfilter.cpp 27a6d99 > > Diff: https://git.reviewboard.kde.org/r/128369/diff/ > > > Testing > ------- > > The unit test now passes. > > > Thanks, > > Martin Tobias Holmedahl Sandsmark > >
_______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel