genidl: Fix detecting of 32-bit and 64-bit PE binaries

Whether PE binary is 32-bit or 64-bit depends on OptionalHeader's Magic
which is 0x10b for 32-bit and 0x20b for 64-bit.

SizeOfOptionalHeader is not constant, it has just minimal value.

Signed-off-by: Martin Storsjö <martin@martin.st>
diff --git a/mingw-w64-tools/genidl/src/genidl_readpe.c b/mingw-w64-tools/genidl/src/genidl_readpe.c
index 3494e56..1bdf8ae 100644
--- a/mingw-w64-tools/genidl/src/genidl_readpe.c
+++ b/mingw-w64-tools/genidl/src/genidl_readpe.c
@@ -230,9 +230,9 @@
     return 0;
   if (img.hdr32.Signature != 0x4550)
     return 0;
-  if (img.hdr32.FileHeader.SizeOfOptionalHeader == IMG_SIZEOF_NT_OPTIONAL32_HEADER)
+  if (img.hdr32.OptionalHeader.Magic == 0x10b)
     *be64 = 0;
-  else if (img.hdr32.FileHeader.SizeOfOptionalHeader == IMG_SIZEOF_NT_OPTIONAL64_HEADER)
+  else if (img.hdr64.OptionalHeader.Magic == 0x20b)
     *be64 = 1;
   else
     return 0;
diff --git a/mingw-w64-tools/genidl/src/genidl_readpe.h b/mingw-w64-tools/genidl/src/genidl_readpe.h
index bdde368..81c2554 100644
--- a/mingw-w64-tools/genidl/src/genidl_readpe.h
+++ b/mingw-w64-tools/genidl/src/genidl_readpe.h
@@ -146,9 +146,6 @@
   uint16_t Characteristics;                 /**< Object/Image attribute flags */
 } sImgFileHeader;
 
-#define IMG_SIZEOF_NT_OPTIONAL32_HEADER 224
-#define IMG_SIZEOF_NT_OPTIONAL64_HEADER 240
-
 /**
  * PE32+ Headers structure layout on disk
  */