@param[in] NewSize Size in bytes of NewString.\r
@param[in] FindTarget String to look for.\r
@param[in] ReplaceWith String to replace FindTarget with.\r
+ @param[in] SkipPreCarrot If TRUE will skip a FindTarget that has a '^'\r
+ immediately before it.\r
\r
@retval EFI_INVALID_PARAMETER SourceString was NULL.\r
@retval EFI_INVALID_PARAMETER NewString was NULL.\r
@retval EFI_INVALID_PARAMETER SourceString had length < 1.\r
@retval EFI_BUFFER_TOO_SMALL NewSize was less than the minimum size to hold \r
the new string (truncation occurred).\r
- @retval EFI_SUCCESS the string was sucessfully copied with replacement.\r
+ @retval EFI_SUCCESS The string was sucessfully copied with replacement.\r
**/\r
\r
EFI_STATUS\r
EFIAPI\r
-ShellLibCopySearchAndReplace(\r
+ShellCopySearchAndReplace2(\r
IN CHAR16 CONST *SourceString,\r
IN CHAR16 *NewString,\r
IN UINTN NewSize,\r
IN CONST CHAR16 *FindTarget,\r
- IN CONST CHAR16 *ReplaceWith\r
+ IN CONST CHAR16 *ReplaceWith,\r
+ IN CONST BOOLEAN SkipPreCarrot\r
);\r
\r
+///\r
+/// make upgrades easier from old version\r
+///\r
+#define ShellLibCopySearchAndReplace(a,b,c,d,e) ShellCopySearchAndReplace2(a,b,c,d,e,FALSE)\r
+\r
/**\r
Check if a Unicode character is a hexadecimal character.\r
\r
**/\r
BOOLEAN\r
EFIAPI\r
-ShellLibIsHexaDecimalDigitCharacter (\r
+ShellIsHexaDecimalDigitCharacter (\r
IN CHAR16 Char\r
);\r
\r