`cp' is walking through encoded[] when an error occurs and is stepped
back up to 20 elements to provide some lead-in context for the error
message. If might be stepped back to encoded-1, but it attempts to cope
with that by `cp ? cp : encoded'. cp is always non-NULL so true and cp
is printed. Presumably, `cp > encoded' was meant. But it's all a bit
of a rigmarole so just use min() instead to ensure cp stays within
encoded and print cp. Fixes
bfc6b93af.