home *** CD-ROM | disk | FTP | other *** search
/ DTP Toolbox / DTPToolbox.iso / utilities / archiveutils / wmf.lha / src / dformat.c < prev    next >
Encoding:
Text File  |  1995-10-22  |  940 b   |  42 lines

  1.  
  2. void reformat_long( long *ldatL, unsigned long nobytes )
  3. {
  4.    int i;
  5.    register unsigned char *ldat = (unsigned char *)ldatL;
  6.  
  7.    for (i=0; i< nobytes; i+=sizeof(long)) {
  8.       ldat[i+0] ^= ldat[i+3];
  9.       ldat[i+3] ^= ldat[i+0];
  10.       ldat[i+0] ^= ldat[i+3];
  11.  
  12.       ldat[i+1] ^= ldat[i+2];
  13.       ldat[i+2] ^= ldat[i+1];
  14.       ldat[i+1] ^= ldat[i+2];
  15.    }
  16. }
  17.  
  18. void reformat_short( short *shdatS, unsigned long nobytes )
  19. {
  20.    int i;
  21.    register unsigned char *shdat = (unsigned char *)shdatS;
  22.    
  23.    for (i=0; i< nobytes; i+=sizeof(short)) {
  24.       shdat[i+0] ^= shdat[i+1];
  25.       shdat[i+1] ^= shdat[i+0];
  26.       shdat[i+0] ^= shdat[i+1];
  27.    }
  28. }
  29.  
  30. void fix_mixed_longs( unsigned long *uldat, unsigned long nobytes )
  31. {
  32.    int i;
  33.    unsigned short *shdat = (unsigned short *) uldat;
  34.    
  35.    for (i=0; i<nobytes; i+=sizeof(unsigned long)) {
  36.       shdat[i+0] ^= shdat[i+1];
  37.       shdat[i+1] ^= shdat[i+0];
  38.       shdat[i+0] ^= shdat[i+1];
  39.    }
  40. }
  41.  
  42.