# HG changeset patch # User Ryan C. Gordon # Date 1282372943 14400 # Node ID 6e67897d4628adb100f7b2791a4617e4657be4da # Parent b7582afaa07da7c6055d85ecf46812c9fdcc7119 Wrap BAIL_* and GOTO_* macros in do { } while (0) ... diff -r b7582afaa07d -r 6e67897d4628 src/archiver_iso9660.c --- 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, diff -r b7582afaa07d -r 6e67897d4628 src/physfs_internal.h --- 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])) )