On Thu, Jul 25, 2013 at 3:45 PM, Ben Reser <b...@reser.org> wrote: > On Thu, Jul 25, 2013 at 3:37 PM, Bert Huijben <b...@qqmail.nl> wrote: >> If svn_hash_sets doesn't have a return value we could redefine it with >> a temporary variable (and catch some type warnings too) > > Yup, apr_hash_set() has a void return. So we could still fix this > with the macro. > > Does this look okay? > #define svn_hash_sets(ht, key_expression, val) \ > do { \ > const char *key = key_expression; \ > apr_hash_set(ht, key, strlen(key), val); \ > } while (0)
Ended up commiting: #define svn_hash_sets(ht, key, val) \ do { \ const void *keystr = (key); \ apr_hash_set(ht, keystr, strlen(keystr), val); \ } while (0) In: http://svn.apache.org/r1507155 svn_hash_gets() has a similar issue but can't be fixed with a macro since it has a return value.