OSDN Git Service

* include/amvideo.h (BIT_MASKS_MATCH): Don't use memcmp to
authorpapadopo <papadopo>
Wed, 10 May 2006 09:07:02 +0000 (09:07 +0000)
committerpapadopo <papadopo>
Wed, 10 May 2006 09:07:02 +0000 (09:07 +0000)
avoid dependency on <string.h>.
There's no Win32 equivalent for memcmp:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q99456

winsup/w32api/ChangeLog
winsup/w32api/include/amvideo.h

index 6c96a90..9667b5d 100644 (file)
@@ -1,7 +1,14 @@
 2006-05-10  Dimitri Papadopoulos  <papadopo@users.sourceforge.net>
 
-       * include/amvideo.h (RESET_MASKS,RESET_PALETTE): Use ZeroMemory instead
-       of memset to avoid <string.h>. Still need a fix for memcmp.
+       * include/amvideo.h (BIT_MASKS_MATCH): Don't use memcmp to
+       avoid dependency on <string.h>.
+       There's no Win32 equivalent for memcmp:
+       http://support.microsoft.com/default.aspx?scid=kb;EN-US;q99456
+
+2006-05-10  Dimitri Papadopoulos  <papadopo@users.sourceforge.net>
+
+       * include/amvideo.h (RESET_MASKS,RESET_PALETTE): Use ZeroMemory
+       instead of memset to avoid dependency on <string.h>.
        * include/dshow.h (AM_ASPECT_RATIO_MODE,AM_WST_DRAWBGMODE,AM_WST_LEVEL)
        (AMExtendedSeekingCapabilities,AM_WST_SERVICE,AM_WST_STATE)
        (AM_WST_STYLE): Add enums.
index a582590..10e8e60 100644 (file)
@@ -25,7 +25,7 @@ extern "C" {
 #define AMDDS_YUV (AMDDS_YUVOFF|AMDDS_YUVOVR|AMDDS_YUVFLP)
 #define AMDDS_RGB (AMDDS_RGBOFF|AMDDS_RGBOVR|AMDDS_RGBFLP)
 #define AMDDS_PRIMARY (AMDDS_DCIPS|AMDDS_PS)
-#define BIT_MASKS_MATCH(pbmi1,pbmi2) (!memcmp((pbmi1)->dwBitMasks,(pbmi2)->dwBitMasks,3*sizeof(DWORD)))
+#define BIT_MASKS_MATCH(pbmi1,pbmi2) ((pbmi1)->dwBitMasks[0] == (pbmi2)->dwBitMasks[0] && (pbmi1)->dwBitMasks[1] == (pbmi2)->dwBitMasks[1] && (pbmi1)->dwBitMasks[2] == (pbmi2)->dwBitMasks[2])
 #define PALETTISED(pbmi) ((pbmi)->bmiHeader.biBitCount <= 8)
 #define PALETTE_ENTRIES(pbmi) (1 << (pbmi)->bmiHeader.biBitCount)
 #define RESET_MASKS(pbmi) (ZeroMemory((PVOID)(pbmi)->dwBitFields,3*sizeof(DWORD)))