Branko Čibej wrote:

> On 21.03.2013 14:18, Philip Martin wrote:
>>  julianf...@apache.org writes:
>>>  -svn_error_t *
>>>  -svn_hash__clear(apr_hash_t *hash, apr_pool_t *pool)
>>>  +void
>>>  +svn_hash__clear(apr_hash_t *hash)
>>>   {
>>>   #if APR_VERSION_AT_LEAST(1, 3, 0)
>>>     apr_hash_clear(hash);
>>>  @@ -518,13 +518,12 @@ svn_hash__clear(apr_hash_t *hash, apr_po
>>>     const void *key;
>>>     apr_ssize_t klen;
>>>   
>>>  -  for (hi = apr_hash_first(pool, hash); hi; hi = apr_hash_next(hi))
>>>  +  for (hi = apr_hash_first(NULL, hash); hi; hi = apr_hash_next(hi))
>>>       {
>>>         apr_hash_this(hi, &key, &klen, NULL);
>>>         apr_hash_set(hash, key, klen, NULL);
>>>       }
>>>   #endif
>>>  -  return SVN_NO_ERROR;
>>>   }
>>>   
>>  The declaration of svn_hash__clear is only present for old APR while the
>>  definition is always visible.  I get this warning:
>> 
>>  ../src2/subversion/libsvn_subr/hash.c:512:1: warning: no previous prototype 
>> for 'svn_hash__clear' [-Wmissing-prototypes]
>> 
>>  We could fix it by moving the declaration outside the #if making
>>  svn_hash__clear always available.  Or we could wrap the definition in a
>>  #if (dropping the call to apr_hash_clear) so it is only available when
>>  the declaration is available.
>> 
>>  Which is the best solution?
> 
> Given that this is an internal API and not subject to compatibility
> across patch releases, I think we can safely make the implementation
> conditional on the same predicate.

Sounds right to me too.  I'll make it so (despite cmpilato's commit in the 
opposite direction a few minutes ago) unless anyone very soon disagrees.

- Julian

Reply via email to