On Thu, Nov 16, 2006 at 11:18:47PM +0100, Steinar H. Gunderson wrote: > Well, it sure sounds like an endianness problem to me.
Looks like I was right. src/txtrmap.C, line 218: fread(&map_w,sizeof(map_w),1,f); fread(&map_h,sizeof(map_h),1,f); fread(&n,sizeof(n),1,f); Fixing this specific case is of course trivial; just replace it by unsigned char tmp[4]; fread(tmp, 4, 1, f); map_w = tmp[0] | (tmp[1] << 8) | (tmp[2] << 16) | (tmp[3] << 24); fread(tmp, 4, 1, f); map_h = tmp[0] | (tmp[1] << 8) | (tmp[2] << 16) | (tmp[3] << 24); fread(tmp, 4, 1, f); n = tmp[0] | (tmp[1] << 8) | (tmp[2] << 16) | (tmp[3] << 24); but there are at least 8-10 more of these cases, and also the same in fwrite form. Basically, this doesn't seem to be endian-clean at all; given that the package has been in Debian since at least woody and nobody has cared, perhaps not all that big of a loss? (IOW: Perhaps it should simply be requested removed for big-endian architectures?) /* Steinar */ -- Homepage: http://www.sesse.net/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]