[edk2] [PATCH v3] ShellPkg/ShellCommandLib: Update DumpHex to print {|}~

Jeff Westfahl posted 1 patch 6 years, 11 months ago
Failed in applying to current master (apply log)
ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[edk2] [PATCH v3] ShellPkg/ShellCommandLib: Update DumpHex to print {|}~
Posted by Jeff Westfahl 6 years, 11 months ago
ASCII characters {|}~ should be printed by DumpHex. The problem is that
if you have a string like

    {xizzy}~{foo|bar}~{quux}

in the dumped data, it will not appear as such in the *-delimited ASCII
column to the right, but as

    .xizzy...foo.bar...quux.

which is less than ideal.

Most of the commit message was inspired by/shamelessly stolen from
Laszlo's example:

    https://lists.01.org/pipermail/edk2-devel/2017-April/010266.html

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Jaben Carsey <jaben.carsey@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
---
 ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
index a2ebc8f..bd14878 100644
--- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
+++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
@@ -1745,7 +1745,7 @@ DumpHex (
       Val[Index * 3 + 0]  = Hex[TempByte >> 4];
       Val[Index * 3 + 1]  = Hex[TempByte & 0xF];
       Val[Index * 3 + 2]  = (CHAR8) ((Index == 7) ? '-' : ' ');
-      Str[Index]          = (CHAR8) ((TempByte < ' ' || TempByte > 'z') ? '.' : TempByte);
+      Str[Index]          = (CHAR8) ((TempByte < ' ' || TempByte > '~') ? '.' : TempByte);
     }
 
     Val[Index * 3]  = 0;
-- 
2.7.4

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v3] ShellPkg/ShellCommandLib: Update DumpHex to print {|}~
Posted by Carsey, Jaben 6 years, 11 months ago
That makes sense. When I wrote that I was unsure where to draw the line between which characters to print and which to replace.

Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

> -----Original Message-----
> From: Jeff Westfahl [mailto:jeff.westfahl@ni.com]
> Sent: Wednesday, April 26, 2017 12:59 PM
> To: edk2-devel@lists.01.org
> Cc: Jeff Westfahl <jeff.westfahl@ni.com>; Ni, Ruiyu <ruiyu.ni@intel.com>;
> Carsey, Jaben <jaben.carsey@intel.com>
> Subject: [edk2][PATCH v3] ShellPkg/ShellCommandLib: Update DumpHex to
> print {|}~
> Importance: High
> 
> ASCII characters {|}~ should be printed by DumpHex. The problem is that
> if you have a string like
> 
>     {xizzy}~{foo|bar}~{quux}
> 
> in the dumped data, it will not appear as such in the *-delimited ASCII
> column to the right, but as
> 
>     .xizzy...foo.bar...quux.
> 
> which is less than ideal.
> 
> Most of the commit message was inspired by/shamelessly stolen from
> Laszlo's example:
> 
>     https://lists.01.org/pipermail/edk2-devel/2017-April/010266.html
> 
> Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Jaben Carsey <jaben.carsey@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com>
> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
> ---
>  ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
> b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
> index a2ebc8f..bd14878 100644
> --- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
> +++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
> @@ -1745,7 +1745,7 @@ DumpHex (
>        Val[Index * 3 + 0]  = Hex[TempByte >> 4];
>        Val[Index * 3 + 1]  = Hex[TempByte & 0xF];
>        Val[Index * 3 + 2]  = (CHAR8) ((Index == 7) ? '-' : ' ');
> -      Str[Index]          = (CHAR8) ((TempByte < ' ' || TempByte > 'z') ? '.' :
> TempByte);
> +      Str[Index]          = (CHAR8) ((TempByte < ' ' || TempByte > '~') ? '.' :
> TempByte);
>      }
> 
>      Val[Index * 3]  = 0;
> --
> 2.7.4

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v3] ShellPkg/ShellCommandLib: Update DumpHex to print {|}~
Posted by Jeff Westfahl 6 years, 11 months ago
Ray, do you agree? If so, can you please push this?

Thank you,
Jeff

On Wed, 26 Apr 2017, Carsey, Jaben wrote:

> That makes sense. When I wrote that I was unsure where to draw the line between which characters to print and which to replace.
>
> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
>
>> -----Original Message-----
>> From: Jeff Westfahl [mailto:jeff.westfahl@ni.com]
>> Sent: Wednesday, April 26, 2017 12:59 PM
>> To: edk2-devel@lists.01.org
>> Cc: Jeff Westfahl <jeff.westfahl@ni.com>; Ni, Ruiyu <ruiyu.ni@intel.com>;
>> Carsey, Jaben <jaben.carsey@intel.com>
>> Subject: [edk2][PATCH v3] ShellPkg/ShellCommandLib: Update DumpHex to
>> print {|}~
>> Importance: High
>>
>> ASCII characters {|}~ should be printed by DumpHex. The problem is that
>> if you have a string like
>>
>>     {xizzy}~{foo|bar}~{quux}
>>
>> in the dumped data, it will not appear as such in the *-delimited ASCII
>> column to the right, but as
>>
>>     .xizzy...foo.bar...quux.
>>
>> which is less than ideal.
>>
>> Most of the commit message was inspired by/shamelessly stolen from
>> Laszlo's example:
>>
>>     https://lists.01.org/pipermail/edk2-devel/2017-April/010266.html
>>
>> Cc: Ruiyu Ni <ruiyu.ni@intel.com>
>> Cc: Jaben Carsey <jaben.carsey@intel.com>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com>
>> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
>> ---
>>  ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
>> b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
>> index a2ebc8f..bd14878 100644
>> --- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
>> +++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
>> @@ -1745,7 +1745,7 @@ DumpHex (
>>        Val[Index * 3 + 0]  = Hex[TempByte >> 4];
>>        Val[Index * 3 + 1]  = Hex[TempByte & 0xF];
>>        Val[Index * 3 + 2]  = (CHAR8) ((Index == 7) ? '-' : ' ');
>> -      Str[Index]          = (CHAR8) ((TempByte < ' ' || TempByte > 'z') ? '.' :
>> TempByte);
>> +      Str[Index]          = (CHAR8) ((TempByte < ' ' || TempByte > '~') ? '.' :
>> TempByte);
>>      }
>>
>>      Val[Index * 3]  = 0;
>> --
>> 2.7.4
>
>
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel