Largely from https://archive.codeplex.com/?p=jxrlib (issue https://archive.codeplex.com/projects/jxrlib/issues/13/1483483). -mi --- image/sys/strcodec.c 2013-03-20 19:16:21.000000000 +0100 +++ image/sys/strcodec.c 2015-09-03 10:30:31.018971760 +0200 @@ -668,9 +668,7 @@ ERR detach_SB(SimpleBitIO* pSB) // WinCE ARM and Desktop x86 #else // other platform -#ifdef _BIG__ENDIAN_ -#define _byteswap_ulong(x) (x) -#else // _BIG__ENDIAN_ +#ifndef _BIG__ENDIAN_ U32 _byteswap_ulong(U32 bits) { U32 r = (bits & 0xffu) << 24; --- image/sys/strcodec.h 2013-03-21 19:22:34.000000000 +0100 +++ image/sys/strcodec.h 2015-09-03 10:30:31.019971779 +0200 @@ -64,7 +64,7 @@ #ifndef UNREFERENCED_PARAMETER #define UNREFERENCED_PARAMETER(P) { (P) = (P); } -#endif UNREFERENCED_PARAMETER +#endif // UNREFERENCED_PARAMETER #ifdef UNDER_CE #define PLATFORM_WCE @@ -673,6 +673,16 @@ void flushToByte(BitIOInfo* pIO); pIO->cBitsUsed &= 16 - 1;\ pIO->uiAccumulator = LOAD16(pIO->pbCurrent) << pIO->cBitsUsed;\ return 0; -// pIO->uiAccumulator = LOAD16(pIO->pbCurrent) & ((U32)(-1) >> pIO->cBitsUsed);\ void OutputPerfTimerReport(CWMImageStrCodec *pState); + +#if (defined(WIN32) && !defined(UNDER_CE)) || (defined(UNDER_CE) && defined(_ARM_)) +// WinCE ARM and Desktop x86 +#else +// other platform +#ifdef _BIG__ENDIAN_ +#define _byteswap_ulong(x) (x) +#else // _BIG__ENDIAN_ +U32 _byteswap_ulong(U32 bits); +#endif // _BIG__ENDIAN_ +#endif \ No newline at end of file --- jxrencoderdecoder/JxrDecApp.c 2013-05-08 18:45:08.000000000 +0200 +++ jxrencoderdecoder/JxrDecApp.c 2015-09-03 10:30:31.019971779 +0200 @@ -423,7 +423,7 @@ ERR WmpDecAppCreateEncoderFromExt( Call(GetTestEncodeIID(szExt, &pIID)); // Create encoder - Call(PKTestFactory_CreateCodec(pIID, ppIE)); + Call(PKTestFactory_CreateCodec(pIID, (void**)ppIE)); Cleanup: return err; --- jxrgluelib/JXRGlueJxr.c 2013-03-20 20:01:13.000000000 +0100 +++ jxrgluelib/JXRGlueJxr.c 2015-09-03 10:30:31.021971818 +0200 @@ -28,6 +28,7 @@ //*@@@---@@@@****************************************************************** #include #include +#include static const char szHDPhotoFormat[] = "image/vnd.ms-photo"; --- jxrtestlib/JXRTest.c 2013-03-19 20:06:18.000000000 +0100 +++ jxrtestlib/JXRTest.c 2015-09-03 10:30:31.022971837 +0200 @@ -198,7 +198,7 @@ ERR PKTestFactory_CreateDecoderFromFile( ERR err = WMP_errSuccess; char *pExt = NULL; - PKIID* pIID = NULL; + const PKIID* pIID = NULL; struct WMPStream* pStream = NULL; PKImageDecode* pDecoder = NULL; @@ -214,7 +214,7 @@ ERR PKTestFactory_CreateDecoderFromFile( Call(CreateWS_File(&pStream, szFilename, "rb")); // Create decoder - Call(PKTestFactory_CreateCodec(pIID, ppDecoder)); + Call(PKTestFactory_CreateCodec(pIID, (void**)ppDecoder)); pDecoder = *ppDecoder; // attach stream to decoder @@ -232,7 +232,7 @@ ERR PKCreateTestFactory(PKCodecFactory** UNREFERENCED_PARAMETER( uVersion ); - Call(PKAlloc(ppCFactory, sizeof(**ppCFactory))); + Call(PKAlloc((void**)ppCFactory, sizeof(**ppCFactory))); pCFactory = *ppCFactory; pCFactory->CreateCodec = PKTestFactory_CreateCodec; @@ -287,7 +287,7 @@ ERR PKTestDecode_Release( pID->fStreamOwner && pID->pStream->Close(&pID->pStream); - return PKFree(ppID); + return PKFree((void**)ppID); } ERR PKTestDecode_Create( @@ -296,7 +296,7 @@ ERR PKTestDecode_Create( ERR err = WMP_errSuccess; PKTestDecode* pID = NULL; - Call(PKAlloc(ppID, sizeof(**ppID))); + Call(PKAlloc((void**)ppID, sizeof(**ppID))); pID = *ppID; pID->Initialize = PKTestDecode_Initialize; --- jxrtestlib/JXRTestHdr.c 2013-03-20 17:40:08.000000000 +0100 +++ jxrtestlib/JXRTestHdr.c 2015-09-03 10:30:31.022971837 +0200 @@ -27,7 +27,7 @@ //*@@@---@@@@****************************************************************** #ifndef ANSI #define _CRT_SECURE_NO_WARNINGS -#endif ANSI +#endif // ANSI #include #include --- jxrtestlib/JXRTestPnm.c 2013-03-19 22:43:44.000000000 +0100 +++ jxrtestlib/JXRTestPnm.c 2015-09-03 10:30:31.023971856 +0200 @@ -27,7 +27,7 @@ //*@@@---@@@@****************************************************************** #ifndef ANSI #define _CRT_SECURE_NO_WARNINGS -#endif ANSI +#endif // ANSI #include --- jxrtestlib/JXRTestTif.c 2013-03-19 20:17:12.000000000 +0100 +++ jxrtestlib/JXRTestTif.c 2015-09-03 10:30:31.023971856 +0200 @@ -909,8 +909,8 @@ ERR PKImageDecode_Release_TIF(PKTestDeco PKTestDecode *pID = *ppID; - Call(WMPFree(&pID->EXT.TIF.uStripOffsets)); - Call(WMPFree(&pID->EXT.TIF.uStripByteCounts)); + Call(WMPFree((void**)&pID->EXT.TIF.uStripOffsets)); + Call(WMPFree((void**)&pID->EXT.TIF.uStripByteCounts)); Call(PKTestDecode_Release(ppID)); --- image/sys/windowsmediaphoto.h 2019-03-03 17:25:20.300250000 -0500 +++ image/sys/windowsmediaphoto.h 2019-03-03 17:43:28.765568000 -0500 @@ -259,17 +259,15 @@ #define Call(exp) \ - if (Failed(err = (exp))) \ + do if (Failed(err = (exp))) \ { \ Report(err, #exp, __FILE__, (long)__LINE__); \ goto Cleanup; \ - } \ - else err = err + } while(0) #define CallIgnoreError(errTmp, exp) \ - if (Failed(errTmp = (exp))) \ + do if (Failed(errTmp = (exp))) \ { \ Report(errTmp, #exp, __FILE__, (long)__LINE__); \ - } \ - else errTmp = errTmp + } while (0)