On Tue, Jun 12, 2012 at 3:22 PM, <stef...@apache.org> wrote: > Author: stefan2 > Date: Tue Jun 12 13:22:40 2012 > New Revision: 1349316 > > URL: http://svn.apache.org/viewvc?rev=1349316&view=rev > Log: > Fix "unreachable code" warning under Windows. In the for (i=0;i<retries;++i) > loop header, the ++i would never be executed. So, replace the condition and > increment with a target-dependent macro. > > * subversion/libsvn_fs_fs/fs_fs.c > (RECOVERABLE_RETRY_COUNT): drop > (RECOVERABLE_RETRY_LOOP): new macro > (read_current, revision_proplist, get_and_increment_txn_key_body): > use the new macro to guard retries > > Modified: > subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c > > Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c?rev=1349316&r1=1349315&r2=1349316&view=diff > ============================================================================== > --- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original) > +++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Tue Jun 12 13:22:40 2012 > @@ -1451,8 +1451,6 @@ svn_fs_fs__upgrade(svn_fs_t *fs, apr_poo > * these macros do not. > */ > > -#define RECOVERABLE_RETRY_COUNT 10 > - > #ifdef ESTALE > /* Do not use do-while due to the embedded 'continue'. */ > #define RETRY_RECOVERABLE(err, filehandle, expr) \ > @@ -1481,9 +1479,12 @@ svn_fs_fs__upgrade(svn_fs_t *fs, apr_poo > return svn_error_trace(err); \ > } \ > } else > +#define RECOVERABLE_RETRY_LOOP \ > + i < RECOVERABLE_RETRY_COUNT; i++ > #else > #define RETRY_RECOVERABLE(err, filehandle, expr) SVN_ERR(expr) > #define IGNORE_RECOVERABLE(err, expr) SVN_ERR(expr) > +#define RECOVERABLE_RETRY_LOOP ; > #endif > > /* Long enough to hold: "<svn_revnum_t> <node id> <copy id>\0" > @@ -1508,7 +1509,7 @@ read_current(const char *fname, char **b > > *buf = apr_palloc(pool, CURRENT_BUF_LEN); > iterpool = svn_pool_create(pool); > - for (i = 0; i < RECOVERABLE_RETRY_COUNT; i++) > + for (i = 0; RECOVERABLE_RETRY_LOOP) > { > svn_pool_clear(iterpool); > > @@ -3206,7 +3207,7 @@ revision_proplist(apr_hash_t **proplist_ > > proplist = apr_hash_make(pool); > iterpool = svn_pool_create(pool); > - for (i = 0; i < RECOVERABLE_RETRY_COUNT; i++) > + for (i = 0; RECOVERABLE_RETRY_LOOP) > { > svn_pool_clear(iterpool); > > @@ -5038,7 +5039,7 @@ get_and_increment_txn_key_body(void *bat > cb->txn_id = apr_palloc(cb->pool, MAX_KEY_SIZE); > > iterpool = svn_pool_create(pool); > - for (i = 0; i < RECOVERABLE_RETRY_COUNT; ++i) > + for (i = 0; RECOVERABLE_RETRY_LOOP) > { > svn_pool_clear(iterpool); > >
On non-windows platforms, this gives: [[[ subversion/libsvn_fs_fs/fs_fs.c:1512:15: error: use of undeclared identifier 'RECOVERABLE_RETRY_COUNT' for (i = 0; RECOVERABLE_RETRY_LOOP) ^ subversion/libsvn_fs_fs/fs_fs.c:1483:7: note: expanded from macro 'RECOVERABLE_RETRY_LOOP' i < RECOVERABLE_RETRY_COUNT; i++ ^ subversion/libsvn_fs_fs/fs_fs.c:3210:19: error: use of undeclared identifier 'RECOVERABLE_RETRY_COUNT' for (i = 0; RECOVERABLE_RETRY_LOOP) ^ subversion/libsvn_fs_fs/fs_fs.c:1483:7: note: expanded from macro 'RECOVERABLE_RETRY_LOOP' i < RECOVERABLE_RETRY_COUNT; i++ ^ subversion/libsvn_fs_fs/fs_fs.c:5042:15: error: use of undeclared identifier 'RECOVERABLE_RETRY_COUNT' for (i = 0; RECOVERABLE_RETRY_LOOP) ^ subversion/libsvn_fs_fs/fs_fs.c:1483:7: note: expanded from macro 'RECOVERABLE_RETRY_LOOP' i < RECOVERABLE_RETRY_COUNT; i++ ^ 3 errors generated. ]]] -Hyrum -- uberSVN: Apache Subversion Made Easy http://www.uberSVN.com/