소스 검색

Update XFileParser.cpp

Fix alignment for float and double.
Kim Kulling 7 년 전
부모
커밋
eb23946fe7
1개의 변경된 파일6개의 추가작업 그리고 6개의 파일을 삭제
  1. 6 6
      code/XFileParser.cpp

+ 6 - 6
code/XFileParser.cpp

@@ -1349,20 +1349,20 @@ ai_real XFileParser::ReadFloat()
         }
 
         --mBinaryNumCount;
-        if( mBinaryFloatSize == 8)
-        {
+        if( mBinaryFloatSize == 8) {
             if( mEnd - mP >= 8) {
-                ai_real result = (ai_real) (*(double*) mP);
+                double res;
+                ::memcpy( &res, mP, 8 );
                 mP += 8;
                 return result;
             } else {
                 mP = mEnd;
                 return 0;
             }
-        } else
-        {
+        } else {
             if( mEnd - mP >= 4) {
-                ai_real result = *(ai_real*) mP;
+                ai_real result;
+                ::memcpy( &result, mP, 4 );
                 mP += 4;
                 return result;
             } else {