[BusyBox] Ow. Ouch. Pain.
Rob Landley
rob at landley.net
Sun Oct 5 10:33:04 UTC 2003
I understand what BZ2_decompress is doing now. It's manually simulating a
setjmp/longjmp that you can return from and resume later. (THAT's why the
big switch statement at the beginning with all the CASE statements inside
loops, the ->state member, and why it saves all the local variables into the
big DState structure.)
It would be much, much, much, much, much more natural to just have get_bits
know how to read data from the input stream (or do a callback or
_something_).
And have unRLE_obuf_to_output_FAST do the same for output, keeping in mind
that the actual output code (with crc calculation) is currently not factored
into a function, but is instead block copied three times.
My brain hurts now. A lot.
Rob
(Lemme guess: the guy who wrote bzip2 is an academic mathematician, not a
professional programmer?)
More information about the busybox
mailing list