Wrap BAIL_* and GOTO_* macros in do { } while (0) ...
authorRyan C. Gordon <icculus@icculus.org>
Sat, 21 Aug 2010 02:42:23 -0400
changeset 1097 6e67897d4628
parent 1096 b7582afaa07d
child 1098 4e86cec1143f
Wrap BAIL_* and GOTO_* macros in do { } while (0) ...
src/archiver_iso9660.c
src/physfs_internal.h
--- a/src/archiver_iso9660.c	Sat Aug 21 02:41:23 2010 -0400
+++ b/src/archiver_iso9660.c	Sat Aug 21 02:42:23 2010 -0400
@@ -347,7 +347,7 @@
                          PHYSFS_uint32 objCount)
 {
     BAIL_IF_MACRO(!__PHYSFS_platformGrabMutex(handle->mutex),
-            ERR_LOCK_VIOLATION, -1)
+            ERR_LOCK_VIOLATION, -1);
     int rc = -1;
     if (where != handle->currpos)
         GOTO_IF_MACRO(!__PHYSFS_platformSeek(handle->fhandle,where), NULL,
--- a/src/physfs_internal.h	Sat Aug 21 02:41:23 2010 -0400
+++ b/src/physfs_internal.h	Sat Aug 21 02:42:23 2010 -0400
@@ -1022,14 +1022,14 @@
 
 
 /* These get used all over for lessening code clutter. */
-#define BAIL_MACRO(e, r) { __PHYSFS_setError(e); return r; }
-#define BAIL_IF_MACRO(c, e, r) if (c) { __PHYSFS_setError(e); return r; }
-#define BAIL_MACRO_MUTEX(e, m, r) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; }
-#define BAIL_IF_MACRO_MUTEX(c, e, m, r) if (c) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; }
-#define GOTO_MACRO(e, g) { __PHYSFS_setError(e); goto g; }
-#define GOTO_IF_MACRO(c, e, g) if (c) { __PHYSFS_setError(e); goto g; }
-#define GOTO_MACRO_MUTEX(e, m, g) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; }
-#define GOTO_IF_MACRO_MUTEX(c, e, m, g) if (c) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; }
+#define BAIL_MACRO(e, r) do { __PHYSFS_setError(e); return r; } while (0)
+#define BAIL_IF_MACRO(c, e, r) do { if (c) { __PHYSFS_setError(e); return r; } } while (0)
+#define BAIL_MACRO_MUTEX(e, m, r) do {  __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; } while (0)
+#define BAIL_IF_MACRO_MUTEX(c, e, m, r) do { if (c) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; } } while (0)
+#define GOTO_MACRO(e, g) do { __PHYSFS_setError(e); goto g; } while (0)
+#define GOTO_IF_MACRO(c, e, g) do { if (c) { __PHYSFS_setError(e); goto g; } } while (0)
+#define GOTO_MACRO_MUTEX(e, m, g) do { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; } while (0)
+#define GOTO_IF_MACRO_MUTEX(c, e, m, g) do { if (c) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; } } while (0)
 
 #define __PHYSFS_ARRAYLEN(x) ( (sizeof (x)) / (sizeof (x[0])) )