94c137d519
using the patch from the PR and some hacking by myself to avoid code redundancy. Passes the regression tests I've added. (How many weeks of purgatory do I get for the cpp(1) hack to avoid code redundancy? I guess I can always say it was inspired by some old version of our md5 sources...)