> The code of Exim, I'm afraid (and as you know well), makes the > assumption that it is handling C strings (i.e. zero terminated). This
> was, with hindsight, probably a mistake. However, it would be a major,
> major re-design to change it, and I do not think that now is the right
> time.
You could convert =00 to a NUL character and let the function return
the string length explicitly, like the append function does, too. It
might make sense anyway, for the same reasons append returns it.
> Exim already converts incoming binary zeros in header lines to '?'. I
> think I should make it do the same for encoded zeros. (Binary zeros in
> the body are unaltered.)
In that case, the Sieve filter could not use the new function. Would
the code police arrest me for suggesting a flag that determines how to
convert =00?