Getting this to work well without unnecessary changes to the api has taken more effort than I expected. Pool's lack of free/realloc makes using zlib's api a bit awkward, but I'm ready for initial review. I started breaking the changes into logical units and pushing to a repo on github. The changes can be viewed at: https://github.com/jhcloos/pjproject/compare/master...deflate Or, for local perusal: :; git clone https://github.com/jhcloos/pjproject :; cd pjproject :; git checkout -t remotes/origin/deflate and: :; git diff master..deflate or: :; git log master..deflate Once things are ready I'll reformat from git to svn-able patches. The issues I'm most concerned about are allowing the body to be encoded for sending or decoded for parsing w/o the caller explicitly having to do so and whether zlib will allocate too much vm given that it expects to be able to free() what it allocates. The alternative would be to encode/decode as needed, every time it is needed. I beleive that would require significant changes to the parser. All critisism, review and thoughts are welcome. Also, I cannot seem to get a fax through for the Contrib Agreement. Can I email the tif instead? If so, where to? Thanks, -JimC -- James Cloos <cloos at jhcloos.com> OpenPGP: 1024D/ED7DAEA6