updated copyright messages for 2013
[deb_libcec.git] / src / lib / platform / windows / os-edid.cpp
index f9a127078016bc59b9857d55178bff4a8f12f919..d040257fe001f33aeb98accb22b64b4e1b9f9971 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the libCEC(R) library.
  *
- * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited.  All rights reserved.
+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited.  All rights reserved.
  * libCEC(R) is an original work, containing original code.
  *
  * libCEC(R) is a trademark of Pulse-Eight Limited.
@@ -30,7 +30,8 @@
  *     http://www.pulse-eight.net/
  */
 
-#include "../util/edid.h"
+#include "env.h"
+#include "lib/platform/util/edid.h"
 
 #include "windows.h"
 #include "setupapi.h"
@@ -40,6 +41,7 @@
 using namespace PLATFORM;
 
 static GUID MONITOR_GUID =  { 0x4D36E96E, 0xE325, 0x11CE, { 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18 } };
+#define PA_MAX_REGENTRIES_TO_CHECK 1024
 
 uint16_t GetPhysicalAddressFromDevice(IN HDEVINFO hDevHandle, IN PSP_DEVINFO_DATA deviceInfoData)
 {
@@ -51,16 +53,16 @@ uint16_t GetPhysicalAddressFromDevice(IN HDEVINFO hDevHandle, IN PSP_DEVINFO_DAT
     CHAR  regEntryName[128];
     DWORD regEntryNameLength(128);
     DWORD type;
-    LONG  retVal(0);
+    LONG  retVal(ERROR_SUCCESS);
 
-    for (LONG ptr = 0; iPA == 0 && retVal != ERROR_NO_MORE_ITEMS; ptr++)
+    for (LONG ptr = 0; iPA == 0 && retVal == ERROR_SUCCESS && ptr < PA_MAX_REGENTRIES_TO_CHECK; ptr++)
     {
       BYTE regEntryData[1024];
       DWORD regEntryDataSize = sizeof(regEntryData);
 
       retVal = RegEnumValue(hDevRegKey, ptr, &regEntryName[0], &regEntryNameLength, NULL, &type, regEntryData, &regEntryDataSize);
 
-      if (retVal == 0 && !strcmp(regEntryName,"EDID"))
+      if (retVal == ERROR_SUCCESS && !strcmp(regEntryName,"EDID"))
         iPA = CEDIDParser::GetPhysicalAddressFromEDID(regEntryData, regEntryDataSize);
     }
     RegCloseKey(hDevRegKey);