Diffusion GnuPG 34e7703a9628

gpgtar,w32: Handle Unicode file names.

Authored by werner on Aug 21 2020, 9:28 PM.

Description

gpgtar,w32: Handle Unicode file names.

* tools/gpgtar.c (oUtf8Strings): New.
(opts): Add option --utf8-strings.
(parse_arguments): Set option.
* tools/gpgtar.h (opt): Add field utf8strings.
* tools/gpgtar-create.c (name_to_utf8): New.
(fillup_entry_w32): Use that.
(scan_directory): Ditto.
(scan_directory) [W32]: Convert file name to utf8.
(gpgtar_create): Convert pattern.

Note that this works only with file names read from a file or if the
specified files on the command line are plain ascii. When recursing
into a directory Unicode file names work again. This limitation is
due to main(int, char**) which can't get the wchar version. We could
fix that but is needs a bit more work in our init code.

  • GnuPG-bug-id: T4083
  • Signed-off-by: Werner Koch <wk@gnupg.org>