I kindly suggest to split source file (pigz.c) into separate files for better readability and, let's call it compatibility, with *nix source convention. Split in two categories:
documentation and source itself.
By documentation I mean license, change log, to-do list, and stuff, that resides in pigz.c, and by source I mean splitting it into smaller, categorized pieces. I was thinking about three, maybe four:
- main loop, usage and this kind of functions,
- multi threading
- de/compression
- maybe file/system functions.
I actually attempted to do that with documentation; it can be seen here (it's emporary tar.bz2 ball), and out looks like this:
.
./ChangeLog
./LICENSE
./Makefile
./README
./TODO
./doc/
./doc/pigz.1
./doc/pigz.info
./doc/pigz.pdf
./doc/pigz.spec
./pigz.c
./try.c
./try.h
./yarn.c
./yarn.h
./zopfli/
With pigz.c didn't dare to be honest, but I would say that scrolling through 5k lines of code is difficult and tiresome.
I kindly suggest to split source file (
pigz.c) into separate files for better readability and, let's call it compatibility, with *nix source convention. Split in two categories:documentation and source itself.
By documentation I mean license, change log, to-do list, and stuff, that resides in
pigz.c, and by source I mean splitting it into smaller, categorized pieces. I was thinking about three, maybe four:I actually attempted to do that with documentation; it can be seen here (it's emporary tar.bz2 ball), and out looks like this:
With
pigz.cdidn't dare to be honest, but I would say that scrolling through 5k lines of code is difficult and tiresome.