Can someone explain what the purpose of the safe min macro is?
What is the advantage of this:
#define min(a, b) ({ \
__typeof__ (a) _a = (a); \
__typeof__ (b) _b = (b); \
_a < _b ? _a : _b; \
})
over the naive #define min(a, b) (((a) < (b)) ? (a) : (b))
?