diff --git a/src/libFLAC/include/private/macros.h b/src/libFLAC/include/private/macros.h index 5104dc9e..63dc3e5d 100644 --- a/src/libFLAC/include/private/macros.h +++ b/src/libFLAC/include/private/macros.h @@ -39,10 +39,14 @@ __typeof__ (b) _b = (b); \ _a > _b ? _a : _b; }) -#define flac_min(a,b) \ - ({ __typeof__ (a) _a = (a); \ - __typeof__ (b) _b = (b); \ - _a < _b ? _a : _b; }) +#define MIN_PASTE(A,B) A##B +#define MIN_IMPL(A,B,L) ({ \ + __typeof__(A) MIN_PASTE(__a,L) = (A); \ + __typeof__(B) MIN_PASTE(__b,L) = (B); \ + MIN_PASTE(__a,L) < MIN_PASTE(__b,L) ? MIN_PASTE(__a,L) : MIN_PASTE(__b,L); \ + }) + +#define flac_min(A,B) MIN_IMPL(A,B,__COUNTER__) /* Whatever other unix that has sys/param.h */ #elif defined(HAVE_SYS_PARAM_H)