On 10/24/16 20:47, Jordan Justen wrote:
> On 2016-10-24 00:58:46, Ard Biesheuvel wrote:
>> On 21 October 2016 at 22:27, Laszlo Ersek <[email protected]> wrote:
>>> AsciiStrCat() is deprecated / disabled under the
>>> DISABLE_NEW_DEPRECATED_INTERFACES feature test macro.
>>>
>>> The "Str" variable serves no particular purpose in the MRegList() and
>>> ThumbMRegList() functions; replace it with the pointed-to "mMregListStr" /
>>> "mThumbMregListStr" global variable (as appropriate), so that the new
>>> AsciiStrCatS() calls are as clear as possible.
>>>
>>> Cc: Ard Biesheuvel <[email protected]>
>>> Cc: Leif Lindholm <[email protected]>
>>> Cc: Michael Zimmermann <[email protected]>
>>> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=164
>>> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=165
>>> Contributed-under: TianoCore Contribution Agreement 1.0
>>> Signed-off-by: Laszlo Ersek <[email protected]>
>>
>> Reviewed-by: Ard Biesheuvel <[email protected]>
>>
>>> ---
>>>
>>> Notes:
>>>     - build-tested only
>>>
>>>     - Michael (CC'd) had posted a patch earlier for this:
>>>       <https://lists.01.org/pipermail/edk2-devel/2016-August/000489.html>,
>>>       but I only noticed that now that he pointed it out, in
>>>       <https://lists.01.org/pipermail/edk2-devel/2016-October/003121.html>.
>>>       I'll leave it to the ArmPkg maintainers to choose one; I don't feel
>>>       strongly either way.
>>>
>>
>> Apologies to Michael for ignoring his contribution, but I'd be happy
>> for Laszlo to merge this as part of the series.
>>
>>>  ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c   | 22 
>>> +++++++++-----------
>>>  ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c | 20 
>>> ++++++++----------
>>>  2 files changed, 19 insertions(+), 23 deletions(-)
>>>
>>> diff --git a/ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c 
>>> b/ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c
>>> index 29a8d4438622..8551edc379c1 100644
>>> --- a/ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c
>>> +++ b/ArmPkg/Library/ArmDisassemblerLib/ArmDisassembler.c
>>> @@ -88,12 +88,10 @@ MRegList (
>>>    )
>>>  {
>>>    UINTN     Index, Start, End;
>>> -  CHAR8     *Str;
>>>    BOOLEAN   First;
>>>
>>> -  Str = mMregListStr;
>>> -  *Str = '\0';
>>> -  AsciiStrCat  (Str, "{");
>>> +  mMregListStr[0] = '\0';
>>> +  AsciiStrCatS  (mMregListStr, sizeof mMregListStr, "{");
> 
> Maybe drop the extra space after the function name throughout this
> patch. (There are 2 instead of just one.)

Yep, I saw that; I couldn't decide whether to remove them or to leave
them undisturbed.

I will remove them.

Thanks!
Laszlo

> 
> -Jordan
> 
>>>    for (Index = 0, First = TRUE; Index <= 15; Index++) {
>>>      if ((OpCode & (1 << Index)) != 0) {
>>>        Start = End = Index;
>>> @@ -102,25 +100,25 @@ MRegList (
>>>        }
>>>
>>>        if (!First) {
>>> -        AsciiStrCat  (Str, ",");
>>> +        AsciiStrCatS  (mMregListStr, sizeof mMregListStr, ",");
>>>        } else {
>>>          First = FALSE;
>>>        }
>>>
>>>        if (Start == End) {
>>> -        AsciiStrCat  (Str, gReg[Start]);
>>> -        AsciiStrCat  (Str, ", ");
>>> +        AsciiStrCatS  (mMregListStr, sizeof mMregListStr, gReg[Start]);
>>> +        AsciiStrCatS  (mMregListStr, sizeof mMregListStr, ", ");
>>>        } else {
>>> -        AsciiStrCat  (Str, gReg[Start]);
>>> -        AsciiStrCat  (Str, "-");
>>> -        AsciiStrCat  (Str, gReg[End]);
>>> +        AsciiStrCatS  (mMregListStr, sizeof mMregListStr, gReg[Start]);
>>> +        AsciiStrCatS  (mMregListStr, sizeof mMregListStr, "-");
>>> +        AsciiStrCatS  (mMregListStr, sizeof mMregListStr, gReg[End]);
>>>        }
>>>      }
>>>    }
>>>    if (First) {
>>> -    AsciiStrCat  (Str, "ERROR");
>>> +    AsciiStrCatS  (mMregListStr, sizeof mMregListStr, "ERROR");
>>>    }
>>> -  AsciiStrCat  (Str, "}");
>>> +  AsciiStrCatS  (mMregListStr, sizeof mMregListStr, "}");
>>>
>>>    // BugBug: Make caller pass in buffer it is cleaner
>>>    return mMregListStr;
>>> diff --git a/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c 
>>> b/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c
>>> index 5bad3afcfbf6..86d5083cb189 100644
>>> --- a/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c
>>> +++ b/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c
>>> @@ -397,12 +397,10 @@ ThumbMRegList (
>>>    )
>>>  {
>>>    UINTN     Index, Start, End;
>>> -  CHAR8     *Str;
>>>    BOOLEAN   First;
>>>
>>> -  Str = mThumbMregListStr;
>>> -  *Str = '\0';
>>> -  AsciiStrCat  (Str, "{");
>>> +  mThumbMregListStr[0] = '\0';
>>> +  AsciiStrCatS  (mThumbMregListStr, sizeof mThumbMregListStr, "{");
>>>
>>>    for (Index = 0, First = TRUE; Index <= 15; Index++) {
>>>      if ((RegBitMask & (1 << Index)) != 0) {
>>> @@ -412,24 +410,24 @@ ThumbMRegList (
>>>        }
>>>
>>>        if (!First) {
>>> -        AsciiStrCat  (Str, ",");
>>> +        AsciiStrCatS  (mThumbMregListStr, sizeof mThumbMregListStr, ",");
>>>        } else {
>>>          First = FALSE;
>>>        }
>>>
>>>        if (Start == End) {
>>> -        AsciiStrCat  (Str, gReg[Start]);
>>> +        AsciiStrCatS  (mThumbMregListStr, sizeof mThumbMregListStr, 
>>> gReg[Start]);
>>>        } else {
>>> -        AsciiStrCat  (Str, gReg[Start]);
>>> -        AsciiStrCat  (Str, "-");
>>> -        AsciiStrCat  (Str, gReg[End]);
>>> +        AsciiStrCatS  (mThumbMregListStr, sizeof mThumbMregListStr, 
>>> gReg[Start]);
>>> +        AsciiStrCatS  (mThumbMregListStr, sizeof mThumbMregListStr, "-");
>>> +        AsciiStrCatS  (mThumbMregListStr, sizeof mThumbMregListStr, 
>>> gReg[End]);
>>>        }
>>>      }
>>>    }
>>>    if (First) {
>>> -    AsciiStrCat  (Str, "ERROR");
>>> +    AsciiStrCatS  (mThumbMregListStr, sizeof mThumbMregListStr, "ERROR");
>>>    }
>>> -  AsciiStrCat  (Str, "}");
>>> +  AsciiStrCatS  (mThumbMregListStr, sizeof mThumbMregListStr, "}");
>>>
>>>    // BugBug: Make caller pass in buffer it is cleaner
>>>    return mThumbMregListStr;
>>> --
>>> 2.9.2
>>>
>>>
>> _______________________________________________
>> edk2-devel mailing list
>> [email protected]
>> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to