> -----Original Message----- > From: Mike Miller (OS Dev) [mailto:mikem@xxxxxxxxxxxxxxxxxxxxxxx] > > Andrew, > Using this test program and changing the type of x to int, > long, long long signed and unsigned the comparison always > worked on x86, x86_64, and ia64. It looks to me like the > comparsion will always do what we expect. Unless you see some > other problem. > > > #include <stdio.h> > > int main(int argc, char *argv[]) > { > unsigned long long x; > > x = 0x00000000ffffffff; > > printf(sizeof(x) == 8 ? > "x = %lld, sizeof(x) = %d\n" : > "x = %ld, sizeof(x) = %d\n", x, sizeof(x)); > if (x == 0xffffffff) > printf("equal\n"); > else > printf("not equal\n"); > > } > > -- mikem > BTW: also changed x to be 8 f's, 16 f's, and 8 and 8 as shown. - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html