# macro: %png_fix_too_far_back path/to/name-of.png # for given png, fixes 'IDAT: invalid distance too far back' # # -v output if macro fixed something or find unrecoverable error # %png_fix_too_far_back(v) \ if test "x%1" == "x%%1"; then \ echo "Missing argument in call to %%png_fix_too_far_back: path and name of png file." \ exit 1 \ fi \ /usr/bin/png-fix-too-far-back "%1" \ case $? in \ 0) # no need to fix \ ;; \ 1) /usr/bin/png-fix-too-far-back -i "%1" \ %{-v: echo "fixed: %1" } \ ;; \ 2) %{-v: echo "unrecoverable error: %1" } \ ;; \ 3) echo "%1 not found" \ ;; \ esac \ %nil # # macro: %png_fix_too_far_back dir # for given directory, search *.png (recursively) and potentionaly # fix 'IDAT: invalid distance too far back' # # -v output if macro fixed something or find unrecoverable error # %png_fix_too_far_back_dir(v) \ if test "x%1" == "x%%1"; then \ echo "Missing argument in call to %%png_fix_too_far_back_dir: dir where to search png files." \ exit 1 \ fi \ for png in `find "%1" -iname '*.png'`; do \ # -v will be propagated \ %png_fix_too_far_back $png \ done \ %nil