On May 15, 2011, at 11:06 AM, stef...@apache.org wrote:

> Author: stefan2
> Date: Sun May 15 18:06:23 2011
> New Revision: 1103490
> 
> URL: http://svn.apache.org/viewvc?rev=1103490&view=rev
> Log:
> Eliminate an svn_string_t header allocation and assignment in ra_svn
> protocol handling code.
> 
> * subversion/libsvn_ra_svn/marshal.c
>  (read_string): "hero-cast" existing stringbuf into svn_string_t
> 
> Modified:
>    subversion/trunk/subversion/libsvn_ra_svn/marshal.c
> 
> Modified: subversion/trunk/subversion/libsvn_ra_svn/marshal.c
> URL: 
> http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_svn/marshal.c?rev=1103490&r1=1103489&r2=1103490&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/libsvn_ra_svn/marshal.c (original)
> +++ subversion/trunk/subversion/libsvn_ra_svn/marshal.c Sun May 15 18:06:23 
> 2011
> @@ -638,11 +638,11 @@ static svn_error_t *read_string(svn_ra_s
>     }
> 
>   /* Return the string properly wrapped into an RA_SVN item.
> +   * Note that the svn_string_t structure is identical to the
> +   * data and len members in stringbuf. 
>    */
>   item->kind = SVN_RA_SVN_STRING;
> -  item->u.string = apr_palloc(pool, sizeof(*item->u.string));
> -  item->u.string->data = stringbuf->data;
> -  item->u.string->len = stringbuf->len;
> +  item->u.string = (svn_string_t *)(&stringbuf->data);

Is this cast really necessary?  I would rather take a small cost hit in 
preference to the code being safe.

Blair

Reply via email to