Hi, is there any reason to use an explicit int instead of a typeof in the abs() macro? The current implementation will return bogus results when used with longs.
How about changing the int to a typeof like this?: Fix the abs() macro to work with wider types than int. Signed-off-by: Jiri Bohac <[EMAIL PROTECTED]> --- linux-2.6.21-rc5.orig/include/linux/kernel.h +++ linux-2.6.21-rc5/include/linux/kernel.h @@ -89,7 +89,7 @@ extern int cond_resched(void); #define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0) #define abs(x) ({ \ - int __x = (x); \ + typeof(x) __x = (x); \ (__x < 0) ? -__x : __x; \ }) -- Jiri Bohac <[EMAIL PROTECTED]> SUSE Labs, SUSE CZ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/