On 03.03.2015 21:28, julianf...@apache.org wrote:
> Author: julianfoad
> Date: Tue Mar  3 20:28:30 2015
> New Revision: 1663780
>
> URL: http://svn.apache.org/r1663780
> Log:
> * subversion/include/svn_hash.h
>   (svn_hash__gets): Remove #if from prototype to match definition.
>
> Modified:
>     subversion/trunk/subversion/include/svn_hash.h
>
> Modified: subversion/trunk/subversion/include/svn_hash.h
> URL: 
> http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_hash.h?rev=1663780&r1=1663779&r2=1663780&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/include/svn_hash.h (original)
> +++ subversion/trunk/subversion/include/svn_hash.h Tue Mar  3 20:28:30 2015
> @@ -239,7 +239,6 @@ svn_hash_from_cstring_keys(apr_hash_t **
>                             const apr_array_header_t *keys,
>                             apr_pool_t *pool);
>  
> -#ifdef SVN_DEBUG
>  /* In debug builds, the svn_hash_gets macro forwards the parameters
>   * through this function in order to have parameter type checking,
>   * particularly for the key. The svn_hash_sets macro gets parameter
> @@ -247,7 +246,6 @@ svn_hash_from_cstring_keys(apr_hash_t **
>   */
>  void *
>  svn_hash__gets(apr_hash_t *ht, const char *key);
> -#endif

No, that's wrong. The should not be available in non-SVN_DEBUG mode
because nobody should be calling svn_hash__gets directly. All calls
should come from the expansion of the svn_hash_gets macro, which only
expands to the call in SVN_DEBUG mode.

The problem with the "missing prototype" warning should be solved in the
same way we solve it for error tracing (see the definition of
SVN_ERR__TRACING in svn_error.h and how it's used in libsvn_subr/error.c).

-- Brane

Reply via email to