On Fri, Apr 16, 2010 at 5:38 AM, Philip Martin <philip.mar...@wandisco.com>wrote:
> Julian Foad <julian.f...@wandisco.com> writes: > > > Stefan Sperling wrote: > >> On Fri, Apr 16, 2010 at 10:08:15AM +0100, Philip Martin wrote: > >> > s...@apache.org writes: > >> > > >> > > Author: stsp > >> > > Date: Thu Apr 15 22:18:59 2010 > >> > > New Revision: 934627 > >> > > > >> > > URL: http://svn.apache.org/viewvc?rev=934627&view=rev > >> > > Log: > >> > > Reintegrate the svn-patch-improvements branch into trunk. > >> > > >> > > + /* Rebuild the empty dirs list, replacing empty dirs which > have > >> > > + * an empty parent with their parent. */ > >> > > + again = FALSE; > >> > > + empty_dirs_copy = apr_array_copy(iterpool, empty_dirs); > >> > > + apr_array_clear(empty_dirs); > >> > > + for (i = 0; i < empty_dirs_copy->nelts; i++) > >> > > >> > apr_array_clear is only available in APR 1.3.x and later. > >> > > >> > We could write svn_array_clear, or perhaps even apr_array_clear, or we > >> > could simply reset empty_dirs->nelts directly. > >> > >> Hmmm... > >> > >> I'll use apr_array_clear in an #ifdef APR_VERSION(...), and clear the > > APR_VERSION_AT_LEAST > When using this macro, don't forget to include svn_dep_compat.h. APR_VERSION_AT_LEAST wasn't introduced into APR itself until 1.3.0. > >> array manually in the #else clause. > > > > Just write "arr->nelts = 0;" (which is the entire body of > > apr_array_clear()) and don't introduce an ifdef. > > I agree that we don't want #if like that in the main code. Put it in > one of our private header files if you want to use it. > +1 -Hyrum