Stefan Fuhrmann <eq...@web.de> writes: > On 15.05.2011 20:23, Blair Zajac wrote: >> On May 15, 2011, at 11:06 AM, stef...@apache.org wrote: >>> 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. > r1124677 still does essentially the same but moves > it into a separate function and explains in detail how > it works and why it is safe.
It's still not clear, gcc warns: ../src/subversion/libsvn_ra_svn/marshal.c: In function ‘read_string’: ../src/subversion/libsvn_ra_svn/marshal.c:645: warning: assignment discards qualifiers from pointer target type Your patch says that you are returning a pointer to const because the string must not reallocate, but here you are casting away const. Why is that safe? -- Philip