diff --git a/ccan/minmax/minmax.h b/ccan/minmax/minmax.h index d111d1bc3..55b44307e 100644 --- a/ccan/minmax/minmax.h +++ b/ccan/minmax/minmax.h @@ -38,7 +38,11 @@ _a > _b ? _a : _b; \ }) -#define clamp(v, f, c) (max(min((v), (c)), (f))) +#define clamp(v, f, c) \ + ({ \ + typeof(v) _ceiling_clamped = min((v), (c)); \ + (max(_ceiling_clamped, (f))); \ + }) #define min_t(t, a, b) \