grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] grub-install: locale depends on nls


From: Daniel Kiper
Subject: Re: [PATCH] grub-install: locale depends on nls
Date: Mon, 5 Mar 2018 17:23:12 +0100
User-agent: Mutt/1.3.28i

On Tue, Feb 27, 2018 at 09:39:20AM +0100, Olaf Hering wrote:
> With --disable-nls no locales exist.
> Avoid runtime error by wrapping install logic inside ENABLE_NLS.
>
> Signed-off-by: Olaf Hering <address@hidden>
> ---
>  util/grub-install-common.c | 108 
> +++++++++++++++++++++++++--------------------
>  1 file changed, 59 insertions(+), 49 deletions(-)
>
> --- a/util/grub-install-common.c
> +++ b/util/grub-install-common.c
> @@ -725,13 +725,69 @@ grub_install_get_platform_platform (enum 
> grub_install_plat platid)
>    return platforms[platid].platform;
>  }
>
> +static void
> +grub_install_copy_nls(const char *src, const char *dst)

Does not compiler complain that arguments are unused if ENABLE_NLS is not 
defined?

> +{
> +#if (defined (GRUB_UTIL) && defined(ENABLE_NLS) && ENABLE_NLS)

Is not "#if defined(GRUB_UTIL) && defined(ENABLE_NLS)" sufficient?

> +  char *dst_locale;
> +
> +  dst_locale = grub_util_path_concat (2, dst, "locale");
> +  grub_install_mkdir_p (dst_locale);
> +  clean_grub_dir (dst_locale);
> +
> +  if (install_locales.is_default)
> +    {
> +      char *srcd = grub_util_path_concat (2, src, "po");
> +      copy_by_ext (srcd, dst_locale, ".mo", 0);
> +      copy_locales (dst_locale);
> +      free (srcd);
> +    }
> +  else
> +    {
> +      const char *locale_dir = get_localedir ();
> +
> +      for (i = 0; i < install_locales.n_entries; i++)
> +     {
> +       char *srcf = grub_util_path_concat_ext (3, src,
> +                                             "po",
> +                                             install_locales.entries[i],
> +                                             ".mo");
> +       char *dstf = grub_util_path_concat_ext (2, dst_locale,
> +                                             install_locales.entries[i],
> +                                             ".mo");

If you move code around please fix the arguments alignment.

> +       if (grub_install_compress_file (srcf, dstf, 0))
> +         {
> +           free (srcf);
> +           free (dstf);
> +           continue;
> +         }
> +       free (srcf);
> +       srcf = grub_util_path_concat_ext (4,
> +                                              locale_dir,
> +                                              install_locales.entries[i],
> +                                              "LC_MESSAGES",
> +                                              PACKAGE,
> +                                              ".mo");

Ditto.

Daniel

PS Please CC me next time.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]