mirror of https://github.com/acidanthera/audk.git
MdePkg BaseLib: API PathRemoveLastItem not handle root paths properly
https://bugzilla.tianocore.org/show_bug.cgi?id=239 When the input path for API PathRemoveLastItem() is a root path like 'fs0:\', the API will return TRUE (indicating a directory or file was removed from the path) and modifies the path to 'fs0:'. In fact, there's no directory or file removed in the above case. This commit adds additional check to resolve this issue and modifies the API's description to make it more straightforward. Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
This commit is contained in:
parent
632dcfd685
commit
6a62309459
|
@ -1747,8 +1747,7 @@ BcdToDecimal8 (
|
|||
//
|
||||
|
||||
/**
|
||||
Removes the last directory or file entry in a path by changing the last
|
||||
L'\' to a CHAR_NULL.
|
||||
Removes the last directory or file entry in a path.
|
||||
|
||||
@param[in, out] Path The pointer to the path to modify.
|
||||
|
||||
|
|
|
@ -14,9 +14,8 @@
|
|||
#include <Library/BaseLib.h>
|
||||
|
||||
/**
|
||||
Removes the last directory or file entry in a path by changing the last
|
||||
L'\' to a CHAR_NULL. For a path which is like L"fs0:startup.nsh",
|
||||
it's converted to L"fs0:".
|
||||
Removes the last directory or file entry in a path. For a path which is
|
||||
like L"fs0:startup.nsh", it's converted to L"fs0:".
|
||||
|
||||
@param[in,out] Path A pointer to the path to modify.
|
||||
|
||||
|
@ -38,7 +37,9 @@ PathRemoveLastItem(
|
|||
; Walker != NULL && *Walker != CHAR_NULL
|
||||
; Walker++
|
||||
){
|
||||
if ((*Walker == L'\\' || *Walker == L':') && *(Walker + 1) != CHAR_NULL) {
|
||||
if (*Walker == L'\\' && *(Walker + 1) != CHAR_NULL) {
|
||||
LastSlash = Walker+1;
|
||||
} else if (*Walker == L':' && *(Walker + 1) != L'\\' && *(Walker + 1) != CHAR_NULL) {
|
||||
LastSlash = Walker+1;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue