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);
 


Reply via email to