[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v8 3/5] efi/boot.c: wrap PrintStr/PrintErr to allow const CHAR16* arguments



On 30.09.2020 14:00, Trammell Hudson wrote:
> This patch wraps the EFI OutputString() method so that they can be
> called with const arguments.  The OutputString method does not modify
> its argument, although the prototype is missing const, so it is necssary
> to cast away the const when calling it.
> 
> It also updates callers of PrintStr/PrintErr to remove unneeded un-const 
> casts.
> 
> Signed-off-by: Trammell Hudson <hudson@xxxxxxxx>
> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

This one got committed earlier today, sadly ...

> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -151,10 +151,17 @@ static struct file __initdata cfg;
>  static struct file __initdata kernel;
>  static struct file __initdata ramdisk;
>  static struct file __initdata xsm;
> -static CHAR16 __initdata newline[] = L"\r\n";
> +static const CHAR16 __initconst newline[] = L"\r\n";
>  
> -#define PrintStr(s) StdOut->OutputString(StdOut, s)
> -#define PrintErr(s) StdErr->OutputString(StdErr, s)
> +static void __init PrintStr(const CHAR16 *s)
> +{
> +    StdOut->OutputString(StdOut, (CHAR16 *)s );

... without me noticing the stray blank here and ...

> +}
> +
> +static void __init PrintErr(const CHAR16 *s)
> +{
> +    StdErr->OutputString(StdErr, (CHAR16 *)s );

... here.

> @@ -540,7 +547,7 @@ static char * __init split_string(char *s)
>      return NULL;
>  }
>  
> -static void __init handle_file_info(CHAR16 *name,
> +static void __init handle_file_info(const CHAR16 *name,
>                                      const struct file *file, const char 
> *options)
>  {
>      if ( file == &cfg )

Obviously I had to drop this hunk, which should now be folded
into patch 2. (If no other need for a v9 arises, I'll try to
remember to do so while committing that one.)

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.