On Thu, Mar 3, 2011 at 9:03 AM, <phi...@apache.org> wrote: > Author: philip > Date: Thu Mar 3 15:03:42 2011 > New Revision: 1076645 > > URL: http://svn.apache.org/viewvc?rev=1076645&view=rev > Log: > Wrap pointer in a baton to avoid a complier warning or cast.
I think a single cast is better than the obfuscation of wrapping a single value in a baton. Please reconsider this change. -Hyrum > > * subversion/libsvn_wc/wc_db.c > (struct set_changelist_baton): New. > (set_changelist_txn): Go through struct. > (svn_wc__db_op_set_changelist): Pass baton. > > Modified: > subversion/trunk/subversion/libsvn_wc/wc_db.c > > Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?rev=1076645&r1=1076644&r2=1076645&view=diff > ============================================================================== > --- subversion/trunk/subversion/libsvn_wc/wc_db.c (original) > +++ subversion/trunk/subversion/libsvn_wc/wc_db.c Thu Mar 3 15:03:42 2011 > @@ -3291,6 +3291,10 @@ svn_wc__db_op_modified(svn_wc__db_t *db, > } > > > +struct set_changelist_baton { > + const char *changelist; > +}; > + > /* */ > static svn_error_t * > set_changelist_txn(void *baton, > @@ -3298,7 +3302,7 @@ set_changelist_txn(void *baton, > const char *local_relpath, > apr_pool_t *scratch_pool) > { > - const char *new_changelist = baton; > + struct set_changelist_baton *b = baton; > const char *existing_changelist; > svn_sqlite__stmt_t *stmt; > svn_boolean_t have_row; > @@ -3315,7 +3319,7 @@ set_changelist_txn(void *baton, > { > /* We need to insert an ACTUAL node, but only if we're not attempting > to remove a (non-existent) changelist. */ > - if (new_changelist == NULL) > + if (b->changelist == NULL) > return SVN_NO_ERROR; > > SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb, > @@ -3333,8 +3337,8 @@ set_changelist_txn(void *baton, > /* We have an existing row, and it simply needs to be updated, if > it's different. */ > if (existing_changelist > - && new_changelist > - && strcmp(existing_changelist, new_changelist) == 0) > + && b->changelist > + && strcmp(existing_changelist, b->changelist) == 0) > return SVN_NO_ERROR; > > SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb, > @@ -3342,7 +3346,7 @@ set_changelist_txn(void *baton, > } > > SVN_ERR(svn_sqlite__bindf(stmt, "iss", wcroot->wc_id, local_relpath, > - new_changelist)); > + b->changelist)); > > return svn_error_return(svn_sqlite__step_done(stmt)); > } > @@ -3356,6 +3360,7 @@ svn_wc__db_op_set_changelist(svn_wc__db_ > { > svn_wc__db_wcroot_t *wcroot; > const char *local_relpath; > + struct set_changelist_baton scb; > > SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath)); > > @@ -3364,7 +3369,9 @@ svn_wc__db_op_set_changelist(svn_wc__db_ > scratch_pool, scratch_pool)); > VERIFY_USABLE_WCROOT(wcroot); > > - SVN_ERR(with_db_txn(wcroot, local_relpath, set_changelist_txn, changelist, > + scb.changelist = changelist; > + > + SVN_ERR(with_db_txn(wcroot, local_relpath, set_changelist_txn, &scb, > scratch_pool)); > > /* No need to flush the parent entries; changelists were not stored in the > > >