While looking at the base85 code I found a bug in the debug code and an unnecessary call. You may want to have a look at the two fixes here:
http://www.kernel.org/pub/scm/linux/kernel/git/agruen/git.git
There is another little oddity in the way the de85 table is set up: 0 indicates an invalid entry; to avoid this from clashing with a valid entry, valid entries are incremented by one and decremented again while decoding. This leads to slightly worse code than using a negative number to indicate invalid values (and avoiding to increment/decrement).
Andreas