diff options
Diffstat (limited to 'subversion/libsvn_subr/utf.c')
-rw-r--r-- | subversion/libsvn_subr/utf.c | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/subversion/libsvn_subr/utf.c b/subversion/libsvn_subr/utf.c index 7d20d24db3c0..a0b0dc784d62 100644 --- a/subversion/libsvn_subr/utf.c +++ b/subversion/libsvn_subr/utf.c @@ -190,9 +190,7 @@ static APR_INLINE void* atomic_swap(void * volatile * mem, void *new_value) { #if APR_HAS_THREADS - /* Cast is necessary because of APR bug: - https://issues.apache.org/bugzilla/show_bug.cgi?id=50731 */ - return apr_atomic_xchgptr((volatile void **)mem, new_value); + return svn_atomic_xchgptr(mem, new_value); #else /* no threads - no sync. necessary */ void *old_value = (void*)*mem; @@ -860,7 +858,6 @@ svn_utf_string_from_utf8(const svn_string_t **dest, const svn_string_t *src, apr_pool_t *pool) { - svn_stringbuf_t *dbuf; xlate_handle_node_t *node; svn_error_t *err; @@ -870,10 +867,15 @@ svn_utf_string_from_utf8(const svn_string_t **dest, { err = check_utf8(src->data, src->len, pool); if (! err) - err = convert_to_stringbuf(node, src->data, src->len, - &dbuf, pool); - if (! err) - *dest = svn_stringbuf__morph_into_string(dbuf); + { + svn_stringbuf_t *dbuf; + + err = convert_to_stringbuf(node, src->data, src->len, + &dbuf, pool); + + if (! err) + *dest = svn_stringbuf__morph_into_string(dbuf); + } } else { @@ -991,7 +993,6 @@ svn_utf_cstring_from_utf8_string(const char **dest, const svn_string_t *src, apr_pool_t *pool) { - svn_stringbuf_t *dbuf; xlate_handle_node_t *node; svn_error_t *err; @@ -1001,10 +1002,14 @@ svn_utf_cstring_from_utf8_string(const char **dest, { err = check_utf8(src->data, src->len, pool); if (! err) - err = convert_to_stringbuf(node, src->data, src->len, - &dbuf, pool); - if (! err) - *dest = dbuf->data; + { + svn_stringbuf_t *dbuf; + + err = convert_to_stringbuf(node, src->data, src->len, + &dbuf, pool); + if (! err) + *dest = dbuf->data; + } } else { |