> -----Original Message----- > From: Julian Foad [mailto:julian.f...@wandisco.com] > Sent: donderdag 20 oktober 2011 16:45 > To: Paul Burba; dev@subversion.apache.org > Subject: Re: svn commit: r1181090 - Follow-up to r1180154: > svn_rangelist_merge2 optimization. > > Hi Paul. > > It looks like we can simplify this by omitting the first branch of the > if ... else ... else construct: > > [[[ > if (delete_index == (arr->nelts - 1)) > { > /* Deleting the last or only element in an array is easy. */ > apr_array_pop(arr); > } > + else if ((delete_index + elements_to_delete) == arr->nelts) > + { > + /* Delete the last ELEMENTS_TO_DELETE elements. */ > + arr->nelts -= elements_to_delete; > + } > else > ]]] > > Or is there some reason why 'apr_array_pop' is preferred in the N==1 case?
The first case is plain wrong. (And I should have noticed when I first reviewed this function) It doesn't handle elements_to_delete for N > 1. So +1 on removing that branch. Bert > > - Julian