Author: julianfoad
Date: Mon Dec 10 21:10:03 2012
New Revision: 1419769
URL: http://svn.apache.org/viewvc?rev=1419769&view=rev
Log:
Add 'const' to some 'apr_hash_t *' input parameters.
Const-correctness in low-level APIs is generally a Good Thing for higher
level code. Unfortunately the raw apr_hash_*() functions aren't all
const-correct (at least for our usage), so we sometimes have to cast away
the 'const' so it is not ideal. This commit just touches a few private APIs
where it doesn't require too much casting or code churn, adding two casts
and eliminating one.
* subversion/include/private/svn_skel.h,
subversion/libsvn_subr/skel.c
(svn_skel__unparse_proplist): Constify some inputs.
* subversion/libsvn_fs_base/dag.h,
subversion/libsvn_fs_base/dag.c
(svn_fs_base__dag_set_proplist): Same
* subversion/libsvn_wc/conflicts.h,
subversion/libsvn_wc/conflicts.c
(svn_wc__conflict_skel_add_prop_conflict): Same.
* subversion/libsvn_subr/sqlite.c
(svn_sqlite__bind_properties): Remove a cast.
Modified:
subversion/trunk/subversion/include/private/svn_skel.h
subversion/trunk/subversion/libsvn_fs_base/dag.c
subversion/trunk/subversion/libsvn_fs_base/dag.h
subversion/trunk/subversion/libsvn_subr/skel.c
subversion/trunk/subversion/libsvn_subr/sqlite.c
subversion/trunk/subversion/libsvn_wc/conflicts.c
subversion/trunk/subversion/libsvn_wc/conflicts.h
Modified: subversion/trunk/subversion/include/private/svn_skel.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_skel.h?rev=1419769&r1=1419768&r2=1419769&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_skel.h (original)
+++ subversion/trunk/subversion/include/private/svn_skel.h Mon Dec 10 21:10:03
2012
@@ -217,7 +217,7 @@ svn_skel__parse_prop(svn_string_t **prop
for all allocations. */
svn_error_t *
svn_skel__unparse_proplist(svn_skel_t **skel_p,
- apr_hash_t *proplist,
+ const apr_hash_t *proplist,
apr_pool_t *pool);
/* Unparse INHERITED_PROPS, a depth-first ordered array of
Modified: subversion/trunk/subversion/libsvn_fs_base/dag.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/dag.c?rev=1419769&r1=1419768&r2=1419769&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/dag.c (original)
+++ subversion/trunk/subversion/libsvn_fs_base/dag.c Mon Dec 10 21:10:03 2012
@@ -579,7 +579,7 @@ svn_fs_base__dag_get_proplist(apr_hash_t
svn_error_t *
svn_fs_base__dag_set_proplist(dag_node_t *node,
- apr_hash_t *proplist,
+ const apr_hash_t *proplist,
const char *txn_id,
trail_t *trail,
apr_pool_t *pool)
Modified: subversion/trunk/subversion/libsvn_fs_base/dag.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/dag.h?rev=1419769&r1=1419768&r2=1419769&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/dag.h (original)
+++ subversion/trunk/subversion/libsvn_fs_base/dag.h Mon Dec 10 21:10:03 2012
@@ -150,7 +150,7 @@ svn_error_t *svn_fs_base__dag_get_propli
node being changed must be mutable. TXN_ID is the Subversion
transaction under which this occurs. */
svn_error_t *svn_fs_base__dag_set_proplist(dag_node_t *node,
- apr_hash_t *proplist,
+ const apr_hash_t *proplist,
const char *txn_id,
trail_t *trail,
apr_pool_t *pool);
Modified: subversion/trunk/subversion/libsvn_subr/skel.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/skel.c?rev=1419769&r1=1419768&r2=1419769&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/skel.c (original)
+++ subversion/trunk/subversion/libsvn_subr/skel.c Mon Dec 10 21:10:03 2012
@@ -784,7 +784,7 @@ svn_skel__parse_prop(svn_string_t **prop
svn_error_t *
svn_skel__unparse_proplist(svn_skel_t **skel_p,
- apr_hash_t *proplist,
+ const apr_hash_t *proplist,
apr_pool_t *pool)
{
svn_skel_t *skel = svn_skel__make_empty_list(pool);
@@ -794,7 +794,8 @@ svn_skel__unparse_proplist(svn_skel_t **
if (proplist)
{
/* Loop over hash entries */
- for (hi = apr_hash_first(pool, proplist); hi; hi = apr_hash_next(hi))
+ for (hi = apr_hash_first(pool, (apr_hash_t *)proplist); hi;
+ hi = apr_hash_next(hi))
{
const void *key;
void *val;
Modified: subversion/trunk/subversion/libsvn_subr/sqlite.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/sqlite.c?rev=1419769&r1=1419768&r2=1419769&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/sqlite.c (original)
+++ subversion/trunk/subversion/libsvn_subr/sqlite.c Mon Dec 10 21:10:03 2012
@@ -472,8 +472,7 @@ svn_sqlite__bind_properties(svn_sqlite__
if (props == NULL)
return svn_error_trace(svn_sqlite__bind_blob(stmt, slot, NULL, 0));
- SVN_ERR(svn_skel__unparse_proplist(&skel, (apr_hash_t *)props,
- scratch_pool));
+ SVN_ERR(svn_skel__unparse_proplist(&skel, props, scratch_pool));
properties = svn_skel__unparse(skel, scratch_pool);
return svn_error_trace(svn_sqlite__bind_blob(stmt,
slot,
Modified: subversion/trunk/subversion/libsvn_wc/conflicts.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/conflicts.c?rev=1419769&r1=1419768&r2=1419769&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/conflicts.c (original)
+++ subversion/trunk/subversion/libsvn_wc/conflicts.c Mon Dec 10 21:10:03 2012
@@ -409,10 +409,10 @@ svn_wc__conflict_skel_add_prop_conflict(
svn_wc__db_t *db,
const char *wri_abspath,
const char *marker_abspath,
- apr_hash_t *mine_props,
- apr_hash_t *their_old_props,
- apr_hash_t *their_props,
- apr_hash_t *conflicted_prop_names,
+ const apr_hash_t *mine_props,
+ const apr_hash_t *their_old_props,
+ const apr_hash_t *their_props,
+ const apr_hash_t
*conflicted_prop_names,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool)
{
@@ -464,7 +464,7 @@ svn_wc__conflict_skel_add_prop_conflict(
svn_skel__prepend_str("", prop_conflict, result_pool); /* No old_props */
conflict_names = svn_skel__make_empty_list(result_pool);
- for (hi = apr_hash_first(scratch_pool, conflicted_prop_names);
+ for (hi = apr_hash_first(scratch_pool, (apr_hash_t *)conflicted_prop_names);
hi;
hi = apr_hash_next(hi))
{
Modified: subversion/trunk/subversion/libsvn_wc/conflicts.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/conflicts.h?rev=1419769&r1=1419768&r2=1419769&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/conflicts.h (original)
+++ subversion/trunk/subversion/libsvn_wc/conflicts.h Mon Dec 10 21:10:03 2012
@@ -182,10 +182,10 @@ svn_wc__conflict_skel_add_prop_conflict(
svn_wc__db_t *db,
const char *wri_abspath,
const char *marker_abspath,
- apr_hash_t *mine_props,
- apr_hash_t *their_old_props,
- apr_hash_t *their_props,
- apr_hash_t *conflicted_prop_names,
+ const apr_hash_t *mine_props,
+ const apr_hash_t *their_old_props,
+ const apr_hash_t *their_props,
+ const apr_hash_t
*conflicted_prop_names,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);