[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Use svn_sort__array_delete() instead of a copying loop - not working

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Fri, 18 Nov 2011 14:06:08 +0000 (GMT)

I (Julian Foad) wrote:
> Why doesn't this patch work as I expect?  [...]

OK I've found the problem.  It's these lines in do_directory_merge():

      svn_merge_range_t *first_target_range = APR_ARRAY_IDX(
        target_merge_path->remaining_ranges, 0, svn_merge_range_t *);

      if (first_target_range && ...)

It's not valid to assume that element 0 will read as a null pointer when the array is empty.  That happened to be the case, but when I change the delete-an-element code to use svn_sort__array_delete(), that is no longer the case.  Easy to fix.

I should be able to complete and commit the patch now.  The patch will replace in-line code with a call to svn_sort__array_delete() or svn_sort__array_insert() or apr_array_cat() in a few places, not just the one place that I showed in this thread.

- Julian
Received on 2011-11-18 15:06:46 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.