> -----Original Message-----
> From: cmpil...@apache.org [mailto:cmpil...@apache.org]
> Sent: vrijdag 8 juni 2012 18:00
> To: comm...@subversion.apache.org
> Subject: svn commit: r1348130 -
> /subversion/trunk/subversion/libsvn_ra_serf/util.c
> 
> Author: cmpilato
> Date: Fri Jun  8 16:00:26 2012
> New Revision: 1348130
> 
> URL: http://svn.apache.org/viewvc?rev=1348130&view=rev
> Log:
> * subversion/libsvn_ra_serf/util.c
>   (start_xml, end_xml, cdata_xml): Wrapper APR_EOF errors returned
>     from the editor implementations with
> SVN_ERR_RA_SERF_WRAPPED_ERROR
>     so those errors can be distinguished from EOF's in the *network
>     stream* by higher layers.
> 
> Modified:
>     subversion/trunk/subversion/libsvn_ra_serf/util.c
> 
> Modified: subversion/trunk/subversion/libsvn_ra_serf/util.c
> URL:
> http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/
> util.c?rev=1348130&r1=1348129&r2=1348130&view=diff
> ==========================================================
> ====================
> --- subversion/trunk/subversion/libsvn_ra_serf/util.c (original)
> +++ subversion/trunk/subversion/libsvn_ra_serf/util.c Fri Jun  8 16:00:26
> 2012
> @@ -1200,6 +1200,7 @@ start_xml(void *userData, const char *ra
>    svn_ra_serf__xml_parser_t *parser = userData;
>    svn_ra_serf__dav_props_t name;
>    apr_pool_t *scratch_pool;
> +  svn_error_t *err;
> 
>    if (parser->error)
>      return;
> @@ -1214,7 +1215,11 @@ start_xml(void *userData, const char *ra
> 
>    svn_ra_serf__expand_ns(&name, parser->state->ns_list, raw_name);
> 
> -  parser->error = parser->start(parser, name, attrs, scratch_pool);
> +  err = parser->start(parser, name, attrs, scratch_pool);
> +  if (err && APR_STATUS_IS_EOF(err->apr_err))

I know it is ugly but maybe you should use !SERF_BUCKET_READ_ERROR() instead of 
just APR_EOF. This should handle all specialized serf errors.

Maybe we can hide the ugliness by wrapping it as 
SVN_RA_SERF__SHOULD_SPECIALIZE_ERROR()  or something.

(I know I did use this macro in some earlier serf work)

        Bert 


Reply via email to