]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fix InternalMemScanMem* functions so that they return the pointer to the matched...
authordarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 7 Jan 2011 23:00:16 +0000 (23:00 +0000)
committerdarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 7 Jan 2011 23:00:16 +0000 (23:00 +0000)
Replaces the fix instituted in rev. 10821 with a more understandable, sustainable, and efficient fix that behaves the same regardless of compiler.

Reviewed by two peers.
Fixes HSD tracker 204556.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11237 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Library/BaseMemoryLib/MemLibGeneric.c

index 1e3c4c3f13c3bc49d98e842ad09ad907dcea41f7..a977c4aadc497667f955f97914572791c9ef909d 100644 (file)
@@ -162,9 +162,10 @@ InternalMemScanMem8 (
 \r
   Pointer = (CONST UINT8*)Buffer;\r
   do {\r
-    if (*(Pointer++) == Value) {\r
-      return --Pointer;\r
+    if (*Pointer == Value) {\r
+      return Pointer;\r
     }\r
+    ++Pointer;\r
   } while (--Length != 0);\r
   return NULL;\r
 }\r
@@ -192,9 +193,10 @@ InternalMemScanMem16 (
 \r
   Pointer = (CONST UINT16*)Buffer;\r
   do {\r
-    if (*(Pointer++) == Value) {\r
-      return --Pointer;\r
+    if (*Pointer == Value) {\r
+      return Pointer;\r
     }\r
+    ++Pointer;\r
   } while (--Length != 0);\r
   return NULL;\r
 }\r
@@ -222,9 +224,10 @@ InternalMemScanMem32 (
 \r
   Pointer = (CONST UINT32*)Buffer;\r
   do {\r
-    if (*(Pointer++) == Value) {\r
-      return --Pointer;\r
+    if (*Pointer == Value) {\r
+      return Pointer;\r
     }\r
+    ++Pointer;\r
   } while (--Length != 0);\r
   return NULL;\r
 }\r
@@ -252,9 +255,10 @@ InternalMemScanMem64 (
 \r
   Pointer = (CONST UINT64*)Buffer;\r
   do {\r
-    if (*(Pointer++) == Value) {\r
-      return --Pointer;\r
+    if (*Pointer == Value) {\r
+      return Pointer;\r
     }\r
+    ++Pointer;\r
   } while (--Length != 0);\r
   return NULL;\r
 }\r