Hallvard Breien Furuseth wrote:
commit ef2092eac9f35b77eae250801c96dfa515c6d4b2 Author: Howard Chu hyc@symas.com Date: Thu Oct 25 05:28:55 2012 -0700
MDB_DEBUG tweak for old compilers
This changes which page DPRINTF says got popped, since mc_top is now read after the "mc->mc_top--;" statement. I think it should have been:
Ah, right. OK, going with your fix instead.
--- mdb.c +++ mdb.c @@ -298,4 +298,5 @@ #else # define DPRINTF(fmt, ...) ((void) 0) +# define MDB_DEBUG_SKIP #endif /** Print a debug string. @@ -3684,5 +3685,5 @@ { if (mc->mc_snum) { -#if MDB_DEBUG +#ifndef MDB_DEBUG_SKIP MDB_page *top = mc->mc_pg[mc->mc_top]; #endif
Or use the DPRINTF((args)) hack after all, and a helper macro to unpack the arguments.
That would be fine, but I don't feel like changing so many source lines for this approach.