Junio C Hamano <gitster <at> pobox.com> writes: > "Ugly" is not quite the word I am looking for. "My gut feels that there > has to be a way to write this more cleanly, but I am frustrated that I > cannot come up with one" might be the word... How about this: #include <stdio.h> #define MAGIC(type) ((~(type)0 / (type)0xff) << 7) #define TEST(type) printf(#type " %llx\n", (unsigned long long)MAGIC(type)) int main(void) { /*TEST(unsigned char); Doesn't work, and I'm too lazy to find out why. */ TEST(unsigned int); TEST(unsigned long); TEST(unsigned long long); return 0; } HTH, Jens. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html