diff options
author | darylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-01-07 23:00:16 +0000 |
---|---|---|
committer | darylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-01-07 23:00:16 +0000 |
commit | af072124e4f2f004f2200d765a72efb7c97c9aec (patch) | |
tree | a75c50d2062a71fb839d1f557a9ad920203cec37 | |
parent | 2183cf235350694f05b9a18ac9ca26f1efbe1106 (diff) | |
download | edk2-platforms-af072124e4f2f004f2200d765a72efb7c97c9aec.tar.xz |
Fix InternalMemScanMem* functions so that they return the pointer to the matched object, as specified, instead of the following object.
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
-rw-r--r-- | MdePkg/Library/BaseMemoryLib/MemLibGeneric.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/MdePkg/Library/BaseMemoryLib/MemLibGeneric.c b/MdePkg/Library/BaseMemoryLib/MemLibGeneric.c index 1e3c4c3f13..a977c4aadc 100644 --- a/MdePkg/Library/BaseMemoryLib/MemLibGeneric.c +++ b/MdePkg/Library/BaseMemoryLib/MemLibGeneric.c @@ -162,9 +162,10 @@ InternalMemScanMem8 ( Pointer = (CONST UINT8*)Buffer;
do {
- if (*(Pointer++) == Value) {
- return --Pointer;
+ if (*Pointer == Value) {
+ return Pointer;
}
+ ++Pointer;
} while (--Length != 0);
return NULL;
}
@@ -192,9 +193,10 @@ InternalMemScanMem16 ( Pointer = (CONST UINT16*)Buffer;
do {
- if (*(Pointer++) == Value) {
- return --Pointer;
+ if (*Pointer == Value) {
+ return Pointer;
}
+ ++Pointer;
} while (--Length != 0);
return NULL;
}
@@ -222,9 +224,10 @@ InternalMemScanMem32 ( Pointer = (CONST UINT32*)Buffer;
do {
- if (*(Pointer++) == Value) {
- return --Pointer;
+ if (*Pointer == Value) {
+ return Pointer;
}
+ ++Pointer;
} while (--Length != 0);
return NULL;
}
@@ -252,9 +255,10 @@ InternalMemScanMem64 ( Pointer = (CONST UINT64*)Buffer;
do {
- if (*(Pointer++) == Value) {
- return --Pointer;
+ if (*Pointer == Value) {
+ return Pointer;
}
+ ++Pointer;
} while (--Length != 0);
return NULL;
}
|