You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by da...@apache.org on 2011/05/19 16:33:22 UTC

svn commit: r1124843 - /subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c

Author: danielsh
Date: Thu May 19 14:33:22 2011
New Revision: 1124843

URL: http://svn.apache.org/viewvc?rev=1124843&view=rev
Log:
Rewrite two macros for C safety.

* subversion/libsvn_fs_fs/fs_fs.c
  (RETRY_RECOVERABLE, IGNORE_RECOVERABLE):
     Make each of them a self-contained statement.)

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=1124843&r1=1124842&r2=1124843&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Thu May 19 14:33:22 2011
@@ -1421,8 +1421,9 @@ svn_fs_fs__upgrade(svn_fs_t *fs, apr_poo
 #define RECOVERABLE_RETRY_COUNT 10
 
 #ifdef ESTALE
+/* Do not use do-while due to the embedded 'continue'.  */
 #define RETRY_RECOVERABLE(err, filehandle, expr)                \
-  {                                                             \
+  if (1) {                                                      \
     svn_error_clear(err);                                       \
     err = (expr);                                               \
     if (err)                                                    \
@@ -1435,9 +1436,9 @@ svn_fs_fs__upgrade(svn_fs_t *fs, apr_poo
         }                                                       \
         return svn_error_return(err);                           \
       }                                                         \
-  }
+  } else
 #define IGNORE_RECOVERABLE(err, expr)                           \
-  {                                                             \
+  if (1) {                                                      \
     svn_error_clear(err);                                       \
     err = (expr);                                               \
     if (err)                                                    \
@@ -1446,7 +1447,7 @@ svn_fs_fs__upgrade(svn_fs_t *fs, apr_poo
         if ((_e != ESTALE) && (_e != EIO))                      \
           return svn_error_return(err);                         \
       }                                                         \
-  }
+  } else
 #else
 #define RETRY_RECOVERABLE(err, filehandle, expr)  SVN_ERR(expr)
 #define IGNORE_RECOVERABLE(err, expr) SVN_ERR(expr)