Philip Martin wrote on Mon, Jul 15, 2013 at 11:22:27 +0100: > danie...@apache.org writes: > > > Author: danielsh > > Date: Sun Jul 14 18:07:54 2013 > > New Revision: 1503010 > > > > URL: http://svn.apache.org/r1503010 > > Log: > > svn_utf_*: Improve error handling. > > > > This is part of a patch I posted recently. The remaining part --- handling > > APR_EINVAL and APR_ENOTIMPL as fatal errors --- may be committed separately > > (for ease of backporting). > > > > * subversion/libsvn_subr/utf.c > > (xlate_alloc_handle): Tweak the error handling so that apr_strerror() of > > the > > error code is included in the error chain, in addition to the custom > > error > > added here. The incumbent code would report error codes such as E70023, > > but mere mortals aren't supposed to know what errno error that maps to, > > and that is useful information: > > > > svn: E070023: Can't create a character converter from native encoding > > to 'UTF-8' > > svn: E070023: This function has not been implemented on this platform > > Is that an example of the old output, or the new output, or something > else? E070023 is ENOTIMPL and xlate_alloc_handle catches that error and > so will not produce any error output.
That is example of how the output looks in combination with the patch to s/else if/if/. It's representative insofar as 70023 is APR_ENOTIMPL and the last element of the error chain is apr_strerror(ENOTIMPL), but you are correct that xlate_alloc_handle() can't produce it in HEAD.