Le mer. 23 août 2023, 14:20, Vitaly Kuzmichev <vitaly.kuzmic...@rtsoft.de>
a écrit :

> Hi Vladimir,
>
> On Tue, 2023-08-22 at 23:48 +0200, Vladimir 'phcoder' Serbinenko wrote:
> > Would it be easier to change all call sites to use
> > utf16_to_utf8_alloc?
>
> Please note that grub_utf16_to_utf8_alloc and grub_utf16_to_utf8 are
> both inline. There are 3 invocations of get_utf8 function in ntfs
> module. All 3 places would expand with grub_utf16_to_utf8_alloc and
> grub_utf16_to_utf8 code, causing increase of .mod file size.
>
Good point. Agreed

>
>
> With Best Regards,
> Vitaly.
>
> >
> > Le mar. 22 août 2023, 23:40, Vitaly Kuzmichev
> > <vitaly.kuzmic...@rtsoft.de> a écrit :
> > > Transform get_utf8() function to use grub_utf16_to_utf8_alloc()
> > > helper function to convert strings from UTF-16 to UTF-8.
> > >
> > > Signed-off-by: Vitaly Kuzmichev <vitaly.kuzmic...@rtsoft.de>
> > > ---
> > >  grub-core/fs/ntfs.c | 18 +-----------------
> > >  1 file changed, 1 insertion(+), 17 deletions(-)
> > >
> > > diff --git a/grub-core/fs/ntfs.c b/grub-core/fs/ntfs.c
> > > index 1bee35e87..9258ea835 100644
> > > --- a/grub-core/fs/ntfs.c
> > > +++ b/grub-core/fs/ntfs.c
> > > @@ -552,23 +552,7 @@ free_file (struct grub_ntfs_file *mft)
> > >  static char *
> > >  get_utf8 (grub_uint8_t *in, grub_size_t len)
> > >  {
> > > -  grub_uint8_t *buf;
> > > -  grub_uint16_t *tmp;
> > > -  grub_size_t i;
> > > -
> > > -  buf = grub_calloc (len, GRUB_MAX_UTF8_PER_UTF16 + 1);
> > > -  tmp = grub_calloc (len, sizeof (tmp[0]));
> > > -  if (!buf || !tmp)
> > > -    {
> > > -      grub_free (buf);
> > > -      grub_free (tmp);
> > > -      return NULL;
> > > -    }
> > > -  for (i = 0; i < len; i++)
> > > -    tmp[i] = grub_le_to_cpu16 (grub_get_unaligned16 (in + 2 * i));
> > > -  *grub_utf16_to_utf8 (buf, tmp, len, UTF16_CPU) = '\0';
> > > -  grub_free (tmp);
> > > -  return (char *) buf;
> > > +  return (char *) grub_utf16_to_utf8_alloc (in, len, UTF16_LE);
> > >  }
> > >
> > >  static int
> > > _______________________________________________
> > > Grub-devel mailing list
> > > Grub-devel@gnu.org
> > > https://lists.gnu.org/mailman/listinfo/grub-devel
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to