Tim,

Given that all commands are case insensitive, I couldn't imagine why we would 
want case-sensitive alias.

Do we really want "Dir" to fail, while "dir" works fine?  Remember that the 
real command is case insensitive "ls" in either case.

-Jaben

> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf Of
> Tim Lewis
> Sent: Thursday, October 27, 2016 2:29 PM
> To: Tim Lewis <[email protected]>; [email protected]
> Subject: Re: [edk2] [shell] AliasLower never used in InternalSetAlias
> Importance: High
> 
> I would also note that GetAlias() has similar logic, but does, in fact use the
> AliasLower. As far as I can tell, the specification does not say anything 
> about
> case-insensitive, so I believe this to be in error.
> 
> Tim
> 
> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf Of
> Tim Lewis
> Sent: Thursday, October 27, 2016 2:11 PM
> To: [email protected]
> Subject: [edk2] [shell] AliasLower never used in InternalSetAlias
> 
> In the function InternalSetAlias, it appears that AliasLower is duplicated
> (fromAlias), converted to lower case and freed ,but never actually used. Am I
> missing something?
> 
>   // Convert to lowercase to make aliases case-insensitive
>   if (Alias != NULL) {
>     AliasLower = AllocateCopyPool (StrSize (Alias), Alias);
>     if (AliasLower == NULL) {
>       return EFI_OUT_OF_RESOURCES;
>     }
>     ToLower (AliasLower);
>   } else {
>     AliasLower = NULL;
>   }
> 
>   //
>   // We must be trying to remove one if Alias is NULL
>   //
>   if (Alias == NULL) {
>     //
>     // remove an alias (but passed in COMMAND parameter)
>     //
>     Status = (gRT->SetVariable((CHAR16*)Command, &gShellAliasGuid, 0, 0,
> NULL));
>   } else {
>     //
>     // Add and replace are the same
>     //
> 
>     // We dont check the error return on purpose since the variable may not
> exist.
>     gRT->SetVariable((CHAR16*)Command, &gShellAliasGuid, 0, 0, NULL);
> 
>     Status = (gRT->SetVariable((CHAR16*)Alias, &gShellAliasGuid,
> EFI_VARIABLE_BOOTSERVICE_ACCESS|(Volatile?0:EFI_VARIABLE_NON_VOL
> ATILE), StrSize(Command), (VOID*)Command));
>   }
> 
>   if (Alias != NULL) {
>     FreePool (AliasLower);
>   }
> _______________________________________________
> 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
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to