* [PATCH v2 0/3] Introduce two public functions and remove internal ones @ 2018-12-14 8:20 Shenglei Zhang 2018-12-14 8:20 ` [PATCH v2 1/3] BaseTools/Common: Remove InternalCharToUpper Shenglei Zhang ` (2 more replies) 0 siblings, 3 replies; 5+ messages in thread From: Shenglei Zhang @ 2018-12-14 8:20 UTC (permalink / raw) To: edk2-devel Cc: Bob Feng, Liming Gao, Yonghong Zhu, Leif Lindholm, Laszlo Ersek, Michael D Kinney Introduce public functions CharToUpper and AsciiToUpper. Remove internal functions InternalCharToUpper and InternalBaseLibAsciiToUpper. Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Shenglei Zhang (3): BaseTools/Common: Remove InternalCharToUpper MdePkg/BaseLib: Remove the unused function InternalCharToUpper MdePkg/BaseLib: Introduce CharToUpper and AsciiToUpper publicly BaseTools/Source/C/Common/CommonLib.c | 16 ++------- BaseTools/Source/C/Common/CommonLib.h | 4 --- MdePkg/Include/Library/BaseLib.h | 40 +++++++++++++++++++++ MdePkg/Library/BaseLib/BaseLibInternals.h | 42 ----------------------- MdePkg/Library/BaseLib/SafeString.c | 8 ++--- MdePkg/Library/BaseLib/String.c | 35 ++++--------------- 6 files changed, 53 insertions(+), 92 deletions(-) -- 2.18.0.windows.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 1/3] BaseTools/Common: Remove InternalCharToUpper 2018-12-14 8:20 [PATCH v2 0/3] Introduce two public functions and remove internal ones Shenglei Zhang @ 2018-12-14 8:20 ` Shenglei Zhang 2018-12-14 8:20 ` [PATCH v2 2/3] MdePkg/BaseLib: Introduce CharToUpper and AsciiToUpper publicly Shenglei Zhang 2018-12-14 8:20 ` [PATCH v2 3/3] MdePkg/BaseLib: Remove InternalCharToUpper and InternalBaseLibAsciiToUpper Shenglei Zhang 2 siblings, 0 replies; 5+ messages in thread From: Shenglei Zhang @ 2018-12-14 8:20 UTC (permalink / raw) To: edk2-devel; +Cc: Bob Feng, Liming Gao, Yonghong Zhu InternalCharToUpper is an internal function. So now remove InternalCharToUpper and replace it with a public function CharToUpper in all places. https://bugzilla.tianocore.org/show_bug.cgi?id=1369 Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com> --- BaseTools/Source/C/Common/CommonLib.c | 16 ++-------------- BaseTools/Source/C/Common/CommonLib.h | 4 ---- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/BaseTools/Source/C/Common/CommonLib.c b/BaseTools/Source/C/Common/CommonLib.c index 5c40fdb5fd..878b593a4e 100644 --- a/BaseTools/Source/C/Common/CommonLib.c +++ b/BaseTools/Source/C/Common/CommonLib.c @@ -740,18 +740,6 @@ Returns: #endif } -CHAR16 -InternalCharToUpper ( - CHAR16 Char - ) -{ - if (Char >= L'a' && Char <= L'z') { - return (CHAR16) (Char - (L'a' - L'A')); - } - - return Char; -} - UINTN StrnLenS ( CONST CHAR16 *String, @@ -1089,7 +1077,7 @@ StrHexToUint64S ( String++; } - if (InternalCharToUpper (*String) == L'X') { + if (CharToUpper (*String) == L'X') { if (*(String - 1) != L'0') { *Data = 0; return RETURN_SUCCESS; @@ -1264,7 +1252,7 @@ InternalHexCharToUintn ( return Char - L'0'; } - return (10 + InternalCharToUpper (Char) - L'A'); + return (10 + CharToUpper (Char) - L'A'); } diff --git a/BaseTools/Source/C/Common/CommonLib.h b/BaseTools/Source/C/Common/CommonLib.h index 4e1541bc70..b81584c7d4 100644 --- a/BaseTools/Source/C/Common/CommonLib.h +++ b/BaseTools/Source/C/Common/CommonLib.h @@ -304,10 +304,6 @@ StrnLenS ( UINTN MaxSize ); -CHAR16 -InternalCharToUpper ( - CHAR16 Char - ); INTN StrCmp ( -- 2.18.0.windows.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/3] MdePkg/BaseLib: Introduce CharToUpper and AsciiToUpper publicly 2018-12-14 8:20 [PATCH v2 0/3] Introduce two public functions and remove internal ones Shenglei Zhang 2018-12-14 8:20 ` [PATCH v2 1/3] BaseTools/Common: Remove InternalCharToUpper Shenglei Zhang @ 2018-12-14 8:20 ` Shenglei Zhang 2018-12-14 11:18 ` Leif Lindholm 2018-12-14 8:20 ` [PATCH v2 3/3] MdePkg/BaseLib: Remove InternalCharToUpper and InternalBaseLibAsciiToUpper Shenglei Zhang 2 siblings, 1 reply; 5+ messages in thread From: Shenglei Zhang @ 2018-12-14 8:20 UTC (permalink / raw) To: edk2-devel; +Cc: Leif Lindholm, Laszlo Ersek, Michael D Kinney, Liming Gao Introduce two public functions CharToUpper and AsciiToUpper. They have the same functions as InternalCharToUpper and InternalBaseLibAsciiToUpper.Considering the internal functions will be removed,so directly I change their function names to the public ones'. https://bugzilla.tianocore.org/show_bug.cgi?id=1369 v2:Update the commit message and title Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com> --- MdePkg/Include/Library/BaseLib.h | 40 +++++++++++++++++++++++++++++ MdePkg/Library/BaseLib/SafeString.c | 8 +++--- MdePkg/Library/BaseLib/String.c | 35 +++++-------------------- 3 files changed, 51 insertions(+), 32 deletions(-) diff --git a/MdePkg/Include/Library/BaseLib.h b/MdePkg/Include/Library/BaseLib.h index 8cc086983d..b861d82287 100644 --- a/MdePkg/Include/Library/BaseLib.h +++ b/MdePkg/Include/Library/BaseLib.h @@ -2720,6 +2720,46 @@ AsciiStrnToUnicodeStrS ( OUT UINTN *DestinationLength ); +/** + Convert a Unicode character to upper case only if + it maps to a valid small-case ASCII character. + + This internal function only deal with Unicode character + which maps to a valid small-case ASCII character, i.e. + L'a' to L'z'. For other Unicode character, the input character + is returned directly. + + @param Char The character to convert. + + @retval LowerCharacter If the Char is with range L'a' to L'z'. + @retval Unchanged Otherwise. + +**/ +CHAR16 +EFIAPI +CharToUpper ( + IN CHAR16 Char + ); + +/** + Converts a lowercase Ascii character to upper one. + + If Chr is lowercase Ascii character, then converts it to upper one. + + If Value >= 0xA0, then ASSERT(). + If (Value & 0x0F) >= 0x0A, then ASSERT(). + + @param Chr one Ascii character + + @return The uppercase value of Ascii character + +**/ +CHAR8 +EFIAPI +AsciiToUpper ( + IN CHAR8 Chr + ); + /** Converts an 8-bit value to an 8-bit BCD value. diff --git a/MdePkg/Library/BaseLib/SafeString.c b/MdePkg/Library/BaseLib/SafeString.c index 417497cbc9..17f88b46d8 100644 --- a/MdePkg/Library/BaseLib/SafeString.c +++ b/MdePkg/Library/BaseLib/SafeString.c @@ -905,7 +905,7 @@ StrHexToUintnS ( String++; } - if (InternalCharToUpper (*String) == L'X') { + if (CharToUpper (*String) == L'X') { if (*(String - 1) != L'0') { *Data = 0; return RETURN_SUCCESS; @@ -1036,7 +1036,7 @@ StrHexToUint64S ( String++; } - if (InternalCharToUpper (*String) == L'X') { + if (CharToUpper (*String) == L'X') { if (*(String - 1) != L'0') { *Data = 0; return RETURN_SUCCESS; @@ -2459,7 +2459,7 @@ AsciiStrHexToUintnS ( String++; } - if (InternalBaseLibAsciiToUpper (*String) == 'X') { + if (AsciiToUpper (*String) == 'X') { if (*(String - 1) != '0') { *Data = 0; return RETURN_SUCCESS; @@ -2586,7 +2586,7 @@ AsciiStrHexToUint64S ( String++; } - if (InternalBaseLibAsciiToUpper (*String) == 'X') { + if (AsciiToUpper (*String) == 'X') { if (*(String - 1) != '0') { *Data = 0; return RETURN_SUCCESS; diff --git a/MdePkg/Library/BaseLib/String.c b/MdePkg/Library/BaseLib/String.c index e6df12797d..ced1b3f975 100644 --- a/MdePkg/Library/BaseLib/String.c +++ b/MdePkg/Library/BaseLib/String.c @@ -552,7 +552,7 @@ InternalIsDecimalDigitCharacter ( **/ CHAR16 EFIAPI -InternalCharToUpper ( +CharToUpper ( IN CHAR16 Char ) { @@ -586,7 +586,7 @@ InternalHexCharToUintn ( return Char - L'0'; } - return (10 + InternalCharToUpper (Char) - L'A'); + return (10 + CharToUpper (Char) - L'A'); } /** @@ -1166,27 +1166,6 @@ AsciiStrCmp ( return *FirstString - *SecondString; } -/** - Converts a lowercase Ascii character to upper one. - - If Chr is lowercase Ascii character, then converts it to upper one. - - If Value >= 0xA0, then ASSERT(). - If (Value & 0x0F) >= 0x0A, then ASSERT(). - - @param Chr one Ascii character - - @return The uppercase value of Ascii character - -**/ -CHAR8 -EFIAPI -InternalBaseLibAsciiToUpper ( - IN CHAR8 Chr - ) -{ - return (UINT8) ((Chr >= 'a' && Chr <= 'z') ? Chr - ('a' - 'A') : Chr); -} /** Convert a ASCII character to numerical value. @@ -1211,7 +1190,7 @@ InternalAsciiHexCharToUintn ( return Char - '0'; } - return (10 + InternalBaseLibAsciiToUpper (Char) - 'A'); + return (10 + AsciiToUpper (Char) - 'A'); } @@ -1260,13 +1239,13 @@ AsciiStriCmp ( ASSERT (AsciiStrSize (FirstString)); ASSERT (AsciiStrSize (SecondString)); - UpperFirstString = InternalBaseLibAsciiToUpper (*FirstString); - UpperSecondString = InternalBaseLibAsciiToUpper (*SecondString); + UpperFirstString = AsciiToUpper (*FirstString); + UpperSecondString = AsciiToUpper (*SecondString); while ((*FirstString != '\0') && (*SecondString != '\0') && (UpperFirstString == UpperSecondString)) { FirstString++; SecondString++; - UpperFirstString = InternalBaseLibAsciiToUpper (*FirstString); - UpperSecondString = InternalBaseLibAsciiToUpper (*SecondString); + UpperFirstString = AsciiToUpper (*FirstString); + UpperSecondString = AsciiToUpper (*SecondString); } return UpperFirstString - UpperSecondString; -- 2.18.0.windows.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/3] MdePkg/BaseLib: Introduce CharToUpper and AsciiToUpper publicly 2018-12-14 8:20 ` [PATCH v2 2/3] MdePkg/BaseLib: Introduce CharToUpper and AsciiToUpper publicly Shenglei Zhang @ 2018-12-14 11:18 ` Leif Lindholm 0 siblings, 0 replies; 5+ messages in thread From: Leif Lindholm @ 2018-12-14 11:18 UTC (permalink / raw) To: Shenglei Zhang; +Cc: edk2-devel, Laszlo Ersek, Michael D Kinney, Liming Gao On Fri, Dec 14, 2018 at 04:20:27PM +0800, Shenglei Zhang wrote: > Introduce two public functions CharToUpper and AsciiToUpper. > They have the same functions as InternalCharToUpper and > InternalBaseLibAsciiToUpper.Considering the internal functions will > be removed,so directly I change their function names to the public ones'. > https://bugzilla.tianocore.org/show_bug.cgi?id=1369 > > v2:Update the commit message and title Patch revision information does not belong in the commit message. Please move underneath the --- line, or keep it in the cover letter please. I also think the function deletion should be moved to 3/3, where the declarations are deleted. This was what I meant by my feedback on v1. Regards, Leif > Cc: Leif Lindholm <leif.lindholm@linaro.org> > Cc: Laszlo Ersek <lersek@redhat.com> > Cc: Michael D Kinney <michael.d.kinney@intel.com> > Cc: Liming Gao <liming.gao@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com> > --- > MdePkg/Include/Library/BaseLib.h | 40 +++++++++++++++++++++++++++++ > MdePkg/Library/BaseLib/SafeString.c | 8 +++--- > MdePkg/Library/BaseLib/String.c | 35 +++++-------------------- > 3 files changed, 51 insertions(+), 32 deletions(-) > > diff --git a/MdePkg/Include/Library/BaseLib.h b/MdePkg/Include/Library/BaseLib.h > index 8cc086983d..b861d82287 100644 > --- a/MdePkg/Include/Library/BaseLib.h > +++ b/MdePkg/Include/Library/BaseLib.h > @@ -2720,6 +2720,46 @@ AsciiStrnToUnicodeStrS ( > OUT UINTN *DestinationLength > ); > > +/** > + Convert a Unicode character to upper case only if > + it maps to a valid small-case ASCII character. > + > + This internal function only deal with Unicode character > + which maps to a valid small-case ASCII character, i.e. > + L'a' to L'z'. For other Unicode character, the input character > + is returned directly. > + > + @param Char The character to convert. > + > + @retval LowerCharacter If the Char is with range L'a' to L'z'. > + @retval Unchanged Otherwise. > + > +**/ > +CHAR16 > +EFIAPI > +CharToUpper ( > + IN CHAR16 Char > + ); > + > +/** > + Converts a lowercase Ascii character to upper one. > + > + If Chr is lowercase Ascii character, then converts it to upper one. > + > + If Value >= 0xA0, then ASSERT(). > + If (Value & 0x0F) >= 0x0A, then ASSERT(). > + > + @param Chr one Ascii character > + > + @return The uppercase value of Ascii character > + > +**/ > +CHAR8 > +EFIAPI > +AsciiToUpper ( > + IN CHAR8 Chr > + ); > + > /** > Converts an 8-bit value to an 8-bit BCD value. > > diff --git a/MdePkg/Library/BaseLib/SafeString.c b/MdePkg/Library/BaseLib/SafeString.c > index 417497cbc9..17f88b46d8 100644 > --- a/MdePkg/Library/BaseLib/SafeString.c > +++ b/MdePkg/Library/BaseLib/SafeString.c > @@ -905,7 +905,7 @@ StrHexToUintnS ( > String++; > } > > - if (InternalCharToUpper (*String) == L'X') { > + if (CharToUpper (*String) == L'X') { > if (*(String - 1) != L'0') { > *Data = 0; > return RETURN_SUCCESS; > @@ -1036,7 +1036,7 @@ StrHexToUint64S ( > String++; > } > > - if (InternalCharToUpper (*String) == L'X') { > + if (CharToUpper (*String) == L'X') { > if (*(String - 1) != L'0') { > *Data = 0; > return RETURN_SUCCESS; > @@ -2459,7 +2459,7 @@ AsciiStrHexToUintnS ( > String++; > } > > - if (InternalBaseLibAsciiToUpper (*String) == 'X') { > + if (AsciiToUpper (*String) == 'X') { > if (*(String - 1) != '0') { > *Data = 0; > return RETURN_SUCCESS; > @@ -2586,7 +2586,7 @@ AsciiStrHexToUint64S ( > String++; > } > > - if (InternalBaseLibAsciiToUpper (*String) == 'X') { > + if (AsciiToUpper (*String) == 'X') { > if (*(String - 1) != '0') { > *Data = 0; > return RETURN_SUCCESS; > diff --git a/MdePkg/Library/BaseLib/String.c b/MdePkg/Library/BaseLib/String.c > index e6df12797d..ced1b3f975 100644 > --- a/MdePkg/Library/BaseLib/String.c > +++ b/MdePkg/Library/BaseLib/String.c > @@ -552,7 +552,7 @@ InternalIsDecimalDigitCharacter ( > **/ > CHAR16 > EFIAPI > -InternalCharToUpper ( > +CharToUpper ( > IN CHAR16 Char > ) > { > @@ -586,7 +586,7 @@ InternalHexCharToUintn ( > return Char - L'0'; > } > > - return (10 + InternalCharToUpper (Char) - L'A'); > + return (10 + CharToUpper (Char) - L'A'); > } > > /** > @@ -1166,27 +1166,6 @@ AsciiStrCmp ( > return *FirstString - *SecondString; > } > > -/** > - Converts a lowercase Ascii character to upper one. > - > - If Chr is lowercase Ascii character, then converts it to upper one. > - > - If Value >= 0xA0, then ASSERT(). > - If (Value & 0x0F) >= 0x0A, then ASSERT(). > - > - @param Chr one Ascii character > - > - @return The uppercase value of Ascii character > - > -**/ > -CHAR8 > -EFIAPI > -InternalBaseLibAsciiToUpper ( > - IN CHAR8 Chr > - ) > -{ > - return (UINT8) ((Chr >= 'a' && Chr <= 'z') ? Chr - ('a' - 'A') : Chr); > -} > > /** > Convert a ASCII character to numerical value. > @@ -1211,7 +1190,7 @@ InternalAsciiHexCharToUintn ( > return Char - '0'; > } > > - return (10 + InternalBaseLibAsciiToUpper (Char) - 'A'); > + return (10 + AsciiToUpper (Char) - 'A'); > } > > > @@ -1260,13 +1239,13 @@ AsciiStriCmp ( > ASSERT (AsciiStrSize (FirstString)); > ASSERT (AsciiStrSize (SecondString)); > > - UpperFirstString = InternalBaseLibAsciiToUpper (*FirstString); > - UpperSecondString = InternalBaseLibAsciiToUpper (*SecondString); > + UpperFirstString = AsciiToUpper (*FirstString); > + UpperSecondString = AsciiToUpper (*SecondString); > while ((*FirstString != '\0') && (*SecondString != '\0') && (UpperFirstString == UpperSecondString)) { > FirstString++; > SecondString++; > - UpperFirstString = InternalBaseLibAsciiToUpper (*FirstString); > - UpperSecondString = InternalBaseLibAsciiToUpper (*SecondString); > + UpperFirstString = AsciiToUpper (*FirstString); > + UpperSecondString = AsciiToUpper (*SecondString); > } > > return UpperFirstString - UpperSecondString; > -- > 2.18.0.windows.1 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 3/3] MdePkg/BaseLib: Remove InternalCharToUpper and InternalBaseLibAsciiToUpper 2018-12-14 8:20 [PATCH v2 0/3] Introduce two public functions and remove internal ones Shenglei Zhang 2018-12-14 8:20 ` [PATCH v2 1/3] BaseTools/Common: Remove InternalCharToUpper Shenglei Zhang 2018-12-14 8:20 ` [PATCH v2 2/3] MdePkg/BaseLib: Introduce CharToUpper and AsciiToUpper publicly Shenglei Zhang @ 2018-12-14 8:20 ` Shenglei Zhang 2 siblings, 0 replies; 5+ messages in thread From: Shenglei Zhang @ 2018-12-14 8:20 UTC (permalink / raw) To: edk2-devel; +Cc: Leif Lindholm, Laszlo Ersek, Michael D Kinney, Liming Gao InternalCharToUpper and InternalBaseLibAsciiToUpper are internal functions and now we will introduce public functions that have the same effects. So I remove their definition in BaseLibInternals.h. https://bugzilla.tianocore.org/show_bug.cgi?id=1369 Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com> --- MdePkg/Library/BaseLib/BaseLibInternals.h | 42 ----------------------- 1 file changed, 42 deletions(-) diff --git a/MdePkg/Library/BaseLib/BaseLibInternals.h b/MdePkg/Library/BaseLib/BaseLibInternals.h index 8855231c1a..9db925b157 100644 --- a/MdePkg/Library/BaseLib/BaseLibInternals.h +++ b/MdePkg/Library/BaseLib/BaseLibInternals.h @@ -469,28 +469,6 @@ InternalIsDecimalDigitCharacter ( ); -/** - Convert a Unicode character to upper case only if - it maps to a valid small-case ASCII character. - - This internal function only deal with Unicode character - which maps to a valid small-case ASCII character, i.e. - L'a' to L'z'. For other Unicode character, the input character - is returned directly. - - @param Char The character to convert. - - @retval LowerCharacter If the Char is with range L'a' to L'z'. - @retval Unchanged Otherwise. - -**/ -CHAR16 -EFIAPI -InternalCharToUpper ( - IN CHAR16 Char - ); - - /** Convert a Unicode character to numerical value. @@ -552,26 +530,6 @@ InternalAsciiIsDecimalDigitCharacter ( ); -/** - Converts a lowercase Ascii character to upper one. - - If Chr is lowercase Ascii character, then converts it to upper one. - - If Value >= 0xA0, then ASSERT(). - If (Value & 0x0F) >= 0x0A, then ASSERT(). - - @param Chr one Ascii character - - @return The uppercase value of Ascii character - -**/ -CHAR8 -EFIAPI -InternalBaseLibAsciiToUpper ( - IN CHAR8 Chr - ); - - /** Check if a ASCII character is a hexadecimal character. -- 2.18.0.windows.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-12-14 11:18 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-12-14 8:20 [PATCH v2 0/3] Introduce two public functions and remove internal ones Shenglei Zhang 2018-12-14 8:20 ` [PATCH v2 1/3] BaseTools/Common: Remove InternalCharToUpper Shenglei Zhang 2018-12-14 8:20 ` [PATCH v2 2/3] MdePkg/BaseLib: Introduce CharToUpper and AsciiToUpper publicly Shenglei Zhang 2018-12-14 11:18 ` Leif Lindholm 2018-12-14 8:20 ` [PATCH v2 3/3] MdePkg/BaseLib: Remove InternalCharToUpper and InternalBaseLibAsciiToUpper Shenglei Zhang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox