Trivial patch to byteswap all bytes read.
Please apply patch in makecdfenv/src directory...

Ralf Meister

*** read_cdf_xda.c.dist	Thu May 19 02:34:45 2005
--- read_cdf_xda.c	Wed Jul 20 13:33:45 2005
***************
*** 192,201 ****
    result = fread(destination,sizeof(int),n,instream);
  
  #ifdef WORDS_BIGENDIAN
    /* bit flip since all Affymetrix binary files are little endian */
  
!   *destination=(((*destination>>24)&0xff) | ((*destination&0xff)<<24) |
!                 ((*destination>>8)&0xff00) | ((*destination&0xff00)<<8));
  #endif
    return result;
  }
--- 192,204 ----
    result = fread(destination,sizeof(int),n,instream);
  
  #ifdef WORDS_BIGENDIAN
+   while( n-- > 0 ) {
    /* bit flip since all Affymetrix binary files are little endian */
  
!     *destination=(((*destination>>24)&0xff) | ((*destination&0xff)<<24) |
!                   ((*destination>>8)&0xff00) | ((*destination&0xff00)<<8));
!     destination++;
!   }
  #endif
    return result;
  }
***************
*** 211,219 ****
  
  
  #ifdef WORDS_BIGENDIAN
!   /* bit flip since all Affymetrix binary files are little endian */
!   *destination=(((*destination>>24)&0xff) | ((*destination&0xff)<<24) |
!             ((*destination>>8)&0xff00) | ((*destination&0xff00)<<8));
  
  #endif
    return result;
--- 214,225 ----
  
  
  #ifdef WORDS_BIGENDIAN
!   while( n-- > 0 ) {
!     /* bit flip since all Affymetrix binary files are little endian */
!     *destination=(((*destination>>24)&0xff) | ((*destination&0xff)<<24) |
!               ((*destination>>8)&0xff00) | ((*destination&0xff00)<<8));
!     destination++;
!   }
  
  #endif
    return result;
***************
*** 227,234 ****
     result = fread(destination,sizeof(short),n,instream);
  
  #ifdef WORDS_BIGENDIAN
!   /* bit flip since all Affymetrix binary files are little endian */
!    *destination=(((*destination>>8)&0xff) | ((*destination&0xff)<<8));
  
  #endif
     return result;
--- 233,243 ----
     result = fread(destination,sizeof(short),n,instream);
  
  #ifdef WORDS_BIGENDIAN
!    while( n-- > 0 ) {
!       /* bit flip since all Affymetrix binary files are little endian */
!       *destination=(((*destination>>8)&0xff) | ((*destination&0xff)<<8));
!       destination++;
!   }
  
  #endif
     return result;
***************
*** 244,251 ****
     result = fread(destination,sizeof(unsigned short),n,instream);
  
  #ifdef WORDS_BIGENDIAN
!   /* bit flip since all Affymetrix binary files are little endian */
!    *destination=(((*destination>>8)&0xff) | ((*destination&0xff)<<8));
  
  #endif
     return result;
--- 253,263 ----
     result = fread(destination,sizeof(unsigned short),n,instream);
  
  #ifdef WORDS_BIGENDIAN
!    while( n-- > 0 ) {
!      /* bit flip since all Affymetrix binary files are little endian */
!      *destination=(((*destination>>8)&0xff) | ((*destination&0xff)<<8));
!      destination++;
!    }
  
  #endif
     return result;
***************
*** 272,278 ****
    result = fread(destination,sizeof(float),n,instream);
  
  #ifdef WORDS_BIGENDIAN
!   swap_float_4(destination);
  #endif
  
    return result;
--- 284,293 ----
    result = fread(destination,sizeof(float),n,instream);
  
  #ifdef WORDS_BIGENDIAN
!   while( n-- > 0 ) {
!     swap_float_4(destination);
!     destination++;
!   }
  #endif
  
    return result;
