This is a follow up to my previous message a couple hours ago...

I think I understand the problem with the MIPSEL case in the fitsio2.h file.
The test for

#elif defined(MIPSEL)

is never reached because of a previous test for

#elif defined(_MIPS_SZLONG)

in the same block of code. I think the solution to this is to replace these 3 lines:

---------
#elif defined(_MIPS_SZLONG)

#define BYTESWAPPED FALSE
---------

with these 7 lines:

--------
#elif defined(_MIPS_SZLONG)

#  if defined(MIPSEL) || defined(arm)
#    define BYTESWAPPED TRUE
#  else
#    define BYTESWAPPED FALSE
#  endif
--------

Notice the test for "defined(arm)" is included here, but I am not at all sure this is appropriate. Are all arm architectures little-endian? Would one expect that "_MIPS_SZLONG" would be defined on arm platforms?

If someone can verify that this fixes the problem, then I will include this change in the next release of CFITSIO.

Bill Pence
--
____________________________________________________________________
Dr. William Pence                       [EMAIL PROTECTED]
NASA/GSFC Code 662       HEASARC        +1-301-286-4599 (voice)
Greenbelt MD 20771                      +1-301-286-1684 (fax)




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to