Ticket #85: leocad-0.78.1-bigendian.patch

File leocad-0.78.1-bigendian.patch, 1.5 KB (added by marcus, 4 years ago)

Patch to allow lc_file.h to compile on big-endian systems

  • common/lc_file.h

    old new  
    311311                lcuint8 Temp[2];
    312312                lcuint8* Bytes = (lcuint8*)Buffer;
    313313
    314                 for (size_t Idx = 0; Idx < NumRead; Idx++)
     314                for (size_t Idx = 0; Idx < Count; Idx++)
    315315                {
    316                         Temp[1] = *Buffer++;
    317                         Temp[0] = *Buffer++;
     316                        Temp[1] = *Bytes++;
     317                        Temp[0] = *Bytes++;
    318318
    319319                        BytesWritten += WriteBuffer(&Temp, 2);
    320320                }
     
    332332                lcuint8 Temp[4];
    333333                lcuint8* Bytes = (lcuint8*)Buffer;
    334334
    335                 for (size_t Idx = 0; Idx < NumRead; Idx++)
     335                for (size_t Idx = 0; Idx < Count; Idx++)
    336336                {
    337                         Temp[3] = *Buffer++;
    338                         Temp[2] = *Buffer++;
    339                         Temp[1] = *Buffer++;
    340                         Temp[0] = *Buffer++;
     337                        Temp[3] = *Bytes++;
     338                        Temp[2] = *Bytes++;
     339                        Temp[1] = *Bytes++;
     340                        Temp[0] = *Bytes++;
    341341
    342342                        BytesWritten += WriteBuffer(&Temp, 4);
    343343                }
     
    355355                lcuint8 Temp[8];
    356356                lcuint8* Bytes = (lcuint8*)Buffer;
    357357
    358                 for (size_t Idx = 0; Idx < NumRead; Idx++)
     358                for (size_t Idx = 0; Idx < Count; Idx++)
    359359                {
    360                         Temp[7] = *Buffer++;
    361                         Temp[6] = *Buffer++;
    362                         Temp[5] = *Buffer++;
    363                         Temp[4] = *Buffer++;
    364                         Temp[3] = *Buffer++;
    365                         Temp[2] = *Buffer++;
    366                         Temp[1] = *Buffer++;
    367                         Temp[0] = *Buffer++;
     360                        Temp[7] = *Bytes++;
     361                        Temp[6] = *Bytes++;
     362                        Temp[5] = *Bytes++;
     363                        Temp[4] = *Bytes++;
     364                        Temp[3] = *Bytes++;
     365                        Temp[2] = *Bytes++;
     366                        Temp[1] = *Bytes++;
     367                        Temp[0] = *Bytes++;
    368368
    369369                        BytesWritten += WriteBuffer(&Temp, 8);
    370370                }