Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gpgme for openSUSE:Factory checked 
in at 2023-11-01 22:09:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gpgme (Old)
 and      /work/SRC/openSUSE:Factory/.gpgme.new.17445 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gpgme"

Wed Nov  1 22:09:29 2023 rev:102 rq:1121375 version:1.23.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/gpgme/gpgme.changes      2023-10-26 
17:11:36.202064361 +0200
+++ /work/SRC/openSUSE:Factory/.gpgme.new.17445/gpgme.changes   2023-11-01 
22:09:35.838815746 +0100
@@ -1,0 +2,6 @@
+Mon Oct 30 21:58:54 UTC 2023 - Andreas Stieger <andreas.stie...@gmx.de>
+
+- update to 1.23.1:
+  * fixes for other platforms
+
+-------------------------------------------------------------------

Old:
----
  gpgme-1.23.0.tar.bz2
  gpgme-1.23.0.tar.bz2.sig

New:
----
  gpgme-1.23.1.tar.bz2
  gpgme-1.23.1.tar.bz2.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gpgme.spec ++++++
--- /var/tmp/diff_new_pack.o6UAey/_old  2023-11-01 22:09:36.394836344 +0100
+++ /var/tmp/diff_new_pack.o6UAey/_new  2023-11-01 22:09:36.398836491 +0100
@@ -33,7 +33,7 @@
 %bcond_without qt6
 %endif
 Name:           gpgme%{psuffix}
-Version:        1.23.0
+Version:        1.23.1
 Release:        0
 Summary:        Programmatic library interface to GnuPG
 License:        GPL-3.0-or-later AND LGPL-2.1-or-later

++++++ gpgme-1.23.0.tar.bz2 -> gpgme-1.23.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gpgme-1.23.0/NEWS new/gpgme-1.23.1/NEWS
--- old/gpgme-1.23.0/NEWS       2023-10-25 11:05:22.000000000 +0200
+++ new/gpgme-1.23.1/NEWS       2023-10-27 14:34:18.000000000 +0200
@@ -1,3 +1,13 @@
+Noteworthy changes in version 1.23.1 (2023-10-27)
+-------------------------------------------------
+
+ * w32: Change gpgme-w32-spawn to use Unicode arguments.  [T6728]
+
+ [c=C43/A32/R0 cpp=C26/A20/R0 qt=C20/A5/R0]
+
+ Release-info: https://dev.gnupg.org/T6774
+
+
 Noteworthy changes in version 1.23.0 (2023-10-25)
 -------------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gpgme-1.23.0/VERSION new/gpgme-1.23.1/VERSION
--- old/gpgme-1.23.0/VERSION    2023-10-25 11:07:11.000000000 +0200
+++ new/gpgme-1.23.1/VERSION    2023-10-27 14:38:51.000000000 +0200
@@ -1 +1 @@
-1.23.0
+1.23.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gpgme-1.23.0/configure new/gpgme-1.23.1/configure
--- old/gpgme-1.23.0/configure  2023-10-25 11:07:11.000000000 +0200
+++ new/gpgme-1.23.1/configure  2023-10-27 14:38:51.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for gpgme 1.23.0.
+# Generated by GNU Autoconf 2.71 for gpgme 1.23.1.
 #
 # Report bugs to <https://bugs.gnupg.org>.
 #
@@ -621,8 +621,8 @@
 # Identity of this package.
 PACKAGE_NAME='gpgme'
 PACKAGE_TARNAME='gpgme'
-PACKAGE_VERSION='1.23.0'
-PACKAGE_STRING='gpgme 1.23.0'
+PACKAGE_VERSION='1.23.1'
+PACKAGE_STRING='gpgme 1.23.1'
 PACKAGE_BUGREPORT='https://bugs.gnupg.org'
 PACKAGE_URL=''
 
@@ -1517,7 +1517,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gpgme 1.23.0 to adapt to many kinds of systems.
+\`configure' configures gpgme 1.23.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1588,7 +1588,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gpgme 1.23.0:";;
+     short | recursive ) echo "Configuration of gpgme 1.23.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1758,7 +1758,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gpgme configure 1.23.0
+gpgme configure 1.23.1
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2539,7 +2539,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gpgme $as_me 1.23.0, which was
+It was created by gpgme $as_me 1.23.1, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -3564,7 +3564,7 @@
 
 VERSION_MAJOR=1
 VERSION_MINOR=23
-VERSION_MICRO=0
+VERSION_MICRO=1
 
 
 
@@ -4085,7 +4085,7 @@
 
 # Define the identity of the package.
  PACKAGE='gpgme'
- VERSION='1.23.0'
+ VERSION='1.23.1'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -7399,7 +7399,7 @@
 
 
 
-VERSION_NUMBER=0x011700
+VERSION_NUMBER=0x011701
 
 
 # We need to compile and run a program on the build machine.  A
@@ -31405,14 +31405,14 @@
 #
 # Provide information about the build.
 #
-BUILD_REVISION="aae967ec"
+BUILD_REVISION="cadcb384"
 
 
 printf "%s\n" "#define BUILD_REVISION \"$BUILD_REVISION\"" >>confdefs.h
 
 
 BUILD_VERSION=`echo "$PACKAGE_VERSION" | sed 's/\([0-9.]*\).*/\1./'`
-BUILD_VERSION="${BUILD_VERSION}43753"
+BUILD_VERSION="${BUILD_VERSION}51932"
 BUILD_FILEVERSION=`echo "${BUILD_VERSION}" | tr . ,`
 
 
@@ -33961,7 +33961,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gpgme $as_me 1.23.0, which was
+This file was extended by gpgme $as_me 1.23.1, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -34029,7 +34029,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-gpgme config.status 1.23.0
+gpgme config.status 1.23.1
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
@@ -36381,7 +36381,7 @@
 echo "
         GPGME v${VERSION} has been configured as follows:
 
-        Revision:          aae967ec  (43753)
+        Revision:          cadcb384  (51932)
         Platform:          $host
 
         UI Server:         $uiserver
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gpgme-1.23.0/configure.ac 
new/gpgme-1.23.1/configure.ac
--- old/gpgme-1.23.0/configure.ac       2023-10-25 11:04:15.000000000 +0200
+++ new/gpgme-1.23.1/configure.ac       2023-10-25 11:15:55.000000000 +0200
@@ -32,7 +32,7 @@
 m4_define([mym4_package],[gpgme])
 m4_define([mym4_major], [1])
 m4_define([mym4_minor], [23])
-m4_define([mym4_micro], [0])
+m4_define([mym4_micro], [1])
 
 # Below is m4 magic to extract and compute the git revision number,
 # the decimalized short revision number, a beta version string and a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gpgme-1.23.0/gpgme.spec new/gpgme-1.23.1/gpgme.spec
--- old/gpgme-1.23.0/gpgme.spec 2023-10-25 11:07:26.000000000 +0200
+++ new/gpgme-1.23.1/gpgme.spec 2023-10-27 14:39:05.000000000 +0200
@@ -1,7 +1,7 @@
 # This is a template.  The dist target uses it to create the real file.
 Summary: GPGME - GnuPG Made Easy
 Name: gpgme
-Version: 1.23.0
+Version: 1.23.1
 Release: 1
 URL: https://gnupg.org/gpgme.html
 Source: https://www.gnupg.org/ftp/gcrypt/gpgme/%{name}-%{version}.tar.gz
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gpgme-1.23.0/lang/cl/gpgme.asd 
new/gpgme-1.23.1/lang/cl/gpgme.asd
--- old/gpgme-1.23.0/lang/cl/gpgme.asd  2023-10-25 11:07:19.000000000 +0200
+++ new/gpgme-1.23.1/lang/cl/gpgme.asd  2023-10-27 14:38:59.000000000 +0200
@@ -27,7 +27,7 @@
 (defsystem gpgme
   :description "GnuPG Made Easy."
   :author "g10 Code GmbH"
-  :version "1.23.0"
+  :version "1.23.1"
   :licence "GPL"
   :defsystem-depends-on ("cffi-grovel")
   :depends-on ("cffi" "gpg-error" "trivial-garbage")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gpgme-1.23.0/src/Makefile.am 
new/gpgme-1.23.1/src/Makefile.am
--- old/gpgme-1.23.0/src/Makefile.am    2023-02-01 17:50:48.000000000 +0100
+++ new/gpgme-1.23.1/src/Makefile.am    2023-10-27 14:27:30.000000000 +0200
@@ -120,6 +120,8 @@
 # wrapper process.
 libexec_PROGRAMS = gpgme-w32spawn
 
+gpgme_w32spawn_CFLAGS = -municode
+
 RCCOMPILE = $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
 LTRCCOMPILE = $(LIBTOOL) --mode=compile --tag=RC $(RCCOMPILE)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gpgme-1.23.0/src/Makefile.in 
new/gpgme-1.23.1/src/Makefile.in
--- old/gpgme-1.23.0/src/Makefile.in    2023-10-25 11:07:11.000000000 +0200
+++ new/gpgme-1.23.1/src/Makefile.in    2023-10-27 14:38:51.000000000 +0200
@@ -249,8 +249,12 @@
 gpgme_tool_OBJECTS = $(am_gpgme_tool_OBJECTS)
 gpgme_tool_DEPENDENCIES = libgpgme.la
 gpgme_w32spawn_SOURCES = gpgme-w32spawn.c
-gpgme_w32spawn_OBJECTS = gpgme-w32spawn.$(OBJEXT)
+gpgme_w32spawn_OBJECTS = gpgme_w32spawn-gpgme-w32spawn.$(OBJEXT)
 gpgme_w32spawn_LDADD = $(LDADD)
+gpgme_w32spawn_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+       $(gpgme_w32spawn_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o \
+       $@
 SCRIPTS = $(bin_SCRIPTS) $(noinst_SCRIPTS)
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -287,25 +291,26 @@
        ./$(DEPDIR)/export.Plo ./$(DEPDIR)/genkey.Plo \
        ./$(DEPDIR)/get-env.Plo ./$(DEPDIR)/getauditlog.Plo \
        ./$(DEPDIR)/gpgconf.Plo ./$(DEPDIR)/gpgme-json.Po \
-       ./$(DEPDIR)/gpgme-tool.Po ./$(DEPDIR)/gpgme-w32spawn.Po \
-       ./$(DEPDIR)/gpgme.Plo ./$(DEPDIR)/import.Plo \
-       ./$(DEPDIR)/key.Plo ./$(DEPDIR)/keylist.Plo \
-       ./$(DEPDIR)/keysign.Plo ./$(DEPDIR)/mbox-util.Plo \
-       ./$(DEPDIR)/op-support.Plo ./$(DEPDIR)/opassuan.Plo \
-       ./$(DEPDIR)/parsetlv.Plo ./$(DEPDIR)/passphrase.Plo \
-       ./$(DEPDIR)/passwd.Plo ./$(DEPDIR)/posix-io.Plo \
-       ./$(DEPDIR)/posix-util.Plo ./$(DEPDIR)/progress.Plo \
-       ./$(DEPDIR)/queryswdb.Plo ./$(DEPDIR)/revsig.Plo \
-       ./$(DEPDIR)/setexpire.Plo ./$(DEPDIR)/sig-notation.Plo \
-       ./$(DEPDIR)/sign.Plo ./$(DEPDIR)/signers.Plo \
-       ./$(DEPDIR)/spawn.Plo ./$(DEPDIR)/status-table.Plo \
-       ./$(DEPDIR)/tofupolicy.Plo ./$(DEPDIR)/trust-item.Plo \
-       ./$(DEPDIR)/trustlist.Plo ./$(DEPDIR)/verify.Plo \
-       ./$(DEPDIR)/version.Plo ./$(DEPDIR)/vfs-create.Plo \
-       ./$(DEPDIR)/vfs-mount.Plo ./$(DEPDIR)/w32-glib-io.Plo \
-       ./$(DEPDIR)/w32-io.Plo ./$(DEPDIR)/w32-util.Plo \
-       ./$(DEPDIR)/wait-global.Plo ./$(DEPDIR)/wait-private.Plo \
-       ./$(DEPDIR)/wait-user.Plo ./$(DEPDIR)/wait.Plo
+       ./$(DEPDIR)/gpgme-tool.Po ./$(DEPDIR)/gpgme.Plo \
+       ./$(DEPDIR)/gpgme_w32spawn-gpgme-w32spawn.Po \
+       ./$(DEPDIR)/import.Plo ./$(DEPDIR)/key.Plo \
+       ./$(DEPDIR)/keylist.Plo ./$(DEPDIR)/keysign.Plo \
+       ./$(DEPDIR)/mbox-util.Plo ./$(DEPDIR)/op-support.Plo \
+       ./$(DEPDIR)/opassuan.Plo ./$(DEPDIR)/parsetlv.Plo \
+       ./$(DEPDIR)/passphrase.Plo ./$(DEPDIR)/passwd.Plo \
+       ./$(DEPDIR)/posix-io.Plo ./$(DEPDIR)/posix-util.Plo \
+       ./$(DEPDIR)/progress.Plo ./$(DEPDIR)/queryswdb.Plo \
+       ./$(DEPDIR)/revsig.Plo ./$(DEPDIR)/setexpire.Plo \
+       ./$(DEPDIR)/sig-notation.Plo ./$(DEPDIR)/sign.Plo \
+       ./$(DEPDIR)/signers.Plo ./$(DEPDIR)/spawn.Plo \
+       ./$(DEPDIR)/status-table.Plo ./$(DEPDIR)/tofupolicy.Plo \
+       ./$(DEPDIR)/trust-item.Plo ./$(DEPDIR)/trustlist.Plo \
+       ./$(DEPDIR)/verify.Plo ./$(DEPDIR)/version.Plo \
+       ./$(DEPDIR)/vfs-create.Plo ./$(DEPDIR)/vfs-mount.Plo \
+       ./$(DEPDIR)/w32-glib-io.Plo ./$(DEPDIR)/w32-io.Plo \
+       ./$(DEPDIR)/w32-util.Plo ./$(DEPDIR)/wait-global.Plo \
+       ./$(DEPDIR)/wait-private.Plo ./$(DEPDIR)/wait-user.Plo \
+       ./$(DEPDIR)/wait.Plo
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -633,6 +638,7 @@
 gpgme_tool_LDADD = libgpgme.la @LIBASSUAN_LIBS@ @GPG_ERROR_LIBS@
 gpgme_json_SOURCES = gpgme-json.c cJSON.c cJSON.h
 gpgme_json_LDADD = -lm libgpgme.la $(GPG_ERROR_LIBS)
+@HAVE_W32_SYSTEM_TRUE@gpgme_w32spawn_CFLAGS = -municode
 @HAVE_W32_SYSTEM_TRUE@RCCOMPILE = $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
 @HAVE_W32_SYSTEM_TRUE@LTRCCOMPILE = $(LIBTOOL) --mode=compile --tag=RC 
$(RCCOMPILE)
 @HAVE_W32_SYSTEM_TRUE@SUFFIXES = .rc .lo
@@ -859,7 +865,7 @@
 
 gpgme-w32spawn$(EXEEXT): $(gpgme_w32spawn_OBJECTS) 
$(gpgme_w32spawn_DEPENDENCIES) $(EXTRA_gpgme_w32spawn_DEPENDENCIES) 
        @rm -f gpgme-w32spawn$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(gpgme_w32spawn_OBJECTS) $(gpgme_w32spawn_LDADD) 
$(LIBS)
+       $(AM_V_CCLD)$(gpgme_w32spawn_LINK) $(gpgme_w32spawn_OBJECTS) 
$(gpgme_w32spawn_LDADD) $(LIBS)
 install-binSCRIPTS: $(bin_SCRIPTS)
        @$(NORMAL_INSTALL)
        @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
@@ -943,8 +949,8 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgconf.Plo@am__quote@ # 
am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme-json.Po@am__quote@ # 
am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme-tool.Po@am__quote@ # 
am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme-w32spawn.Po@am__quote@ 
# am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme.Plo@am__quote@ # 
am--include-marker
+@AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/gpgme_w32spawn-gpgme-w32spawn.Po@am__quote@ # 
am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/import.Plo@am__quote@ # 
am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/key.Plo@am__quote@ # 
am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keylist.Plo@am__quote@ # 
am--include-marker
@@ -1008,6 +1014,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) 
$(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
+gpgme_w32spawn-gpgme-w32spawn.o: gpgme-w32spawn.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(gpgme_w32spawn_CFLAGS) $(CFLAGS) -MT 
gpgme_w32spawn-gpgme-w32spawn.o -MD -MP -MF 
$(DEPDIR)/gpgme_w32spawn-gpgme-w32spawn.Tpo -c -o 
gpgme_w32spawn-gpgme-w32spawn.o `test -f 'gpgme-w32spawn.c' || echo 
'$(srcdir)/'`gpgme-w32spawn.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) 
$(DEPDIR)/gpgme_w32spawn-gpgme-w32spawn.Tpo 
$(DEPDIR)/gpgme_w32spawn-gpgme-w32spawn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='gpgme-w32spawn.c' 
object='gpgme_w32spawn-gpgme-w32spawn.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) 
$(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) 
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gpgme_w32spawn_CFLAGS) $(CFLAGS) -c -o 
gpgme_w32spawn-gpgme-w32spawn.o `test -f 'gpgme-w32spawn.c' || echo 
'$(srcdir)/'`gpgme-w32spawn.c
+
+gpgme_w32spawn-gpgme-w32spawn.obj: gpgme-w32spawn.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(gpgme_w32spawn_CFLAGS) $(CFLAGS) -MT 
gpgme_w32spawn-gpgme-w32spawn.obj -MD -MP -MF 
$(DEPDIR)/gpgme_w32spawn-gpgme-w32spawn.Tpo -c -o 
gpgme_w32spawn-gpgme-w32spawn.obj `if test -f 'gpgme-w32spawn.c'; then 
$(CYGPATH_W) 'gpgme-w32spawn.c'; else $(CYGPATH_W) 
'$(srcdir)/gpgme-w32spawn.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) 
$(DEPDIR)/gpgme_w32spawn-gpgme-w32spawn.Tpo 
$(DEPDIR)/gpgme_w32spawn-gpgme-w32spawn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='gpgme-w32spawn.c' 
object='gpgme_w32spawn-gpgme-w32spawn.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) 
$(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) 
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gpgme_w32spawn_CFLAGS) $(CFLAGS) -c -o 
gpgme_w32spawn-gpgme-w32spawn.obj `if test -f 'gpgme-w32spawn.c'; then 
$(CYGPATH_W) 'gpgme-w32spawn.c'; else $(CYGPATH_W) 
'$(srcdir)/gpgme-w32spawn.c'; fi`
+
 mostlyclean-libtool:
        -rm -f *.lo
 
@@ -1250,8 +1270,8 @@
        -rm -f ./$(DEPDIR)/gpgconf.Plo
        -rm -f ./$(DEPDIR)/gpgme-json.Po
        -rm -f ./$(DEPDIR)/gpgme-tool.Po
-       -rm -f ./$(DEPDIR)/gpgme-w32spawn.Po
        -rm -f ./$(DEPDIR)/gpgme.Plo
+       -rm -f ./$(DEPDIR)/gpgme_w32spawn-gpgme-w32spawn.Po
        -rm -f ./$(DEPDIR)/import.Plo
        -rm -f ./$(DEPDIR)/key.Plo
        -rm -f ./$(DEPDIR)/keylist.Plo
@@ -1375,8 +1395,8 @@
        -rm -f ./$(DEPDIR)/gpgconf.Plo
        -rm -f ./$(DEPDIR)/gpgme-json.Po
        -rm -f ./$(DEPDIR)/gpgme-tool.Po
-       -rm -f ./$(DEPDIR)/gpgme-w32spawn.Po
        -rm -f ./$(DEPDIR)/gpgme.Plo
+       -rm -f ./$(DEPDIR)/gpgme_w32spawn-gpgme-w32spawn.Po
        -rm -f ./$(DEPDIR)/import.Plo
        -rm -f ./$(DEPDIR)/key.Plo
        -rm -f ./$(DEPDIR)/keylist.Plo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gpgme-1.23.0/src/gpgme-w32spawn.c 
new/gpgme-1.23.1/src/gpgme-w32spawn.c
--- old/gpgme-1.23.0/src/gpgme-w32spawn.c       2023-04-17 15:09:48.000000000 
+0200
+++ new/gpgme-1.23.1/src/gpgme-w32spawn.c       2023-10-27 14:27:30.000000000 
+0200
@@ -54,13 +54,13 @@
 
 
 
-static char *
-build_commandline (char **argv)
+static wchar_t *
+build_commandline (wchar_t **argv)
 {
   int i;
   int n = 0;
-  char *buf;
-  char *p;
+  wchar_t *buf;
+  wchar_t *p;
 
   /* We have to quote some things because under Windows the program
      parses the commandline and does some unquoting.  We enclose the
@@ -75,7 +75,7 @@
       while (*p)
        {
          /* An extra one for each literal that must be escaped.  */
-         if (*p == '\\' || *p == '"')
+         if (*p == L'\\' || *p == L'"')
            n++;
          n++;
          p++;
@@ -86,22 +86,22 @@
   /* And a trailing zero.  */
   n++;
 
-  buf = p = malloc (n);
+  buf = p = malloc (n * sizeof (wchar_t));
   if (!buf)
     return NULL;
   for (i = 0; argv[i]; i++)
     {
-      char *argvp = argv[i];
+      wchar_t *argvp = argv[i];
 
-      *(p++) = '"';
+      *(p++) = L'"';
       while (*argvp)
        {
-         if (*argvp == '\\' || *argvp == '"')
-           *(p++) = '\\';
+         if (*argvp == L'\\' || *argvp == L'"')
+           *(p++) = L'\\';
          *(p++) = *(argvp++);
        }
-      *(p++) = '"';
-      *(p++) = ' ';
+      *(p++) = L'"';
+      *(p++) = L' ';
     }
   *(p++) = 0;
 
@@ -110,7 +110,7 @@
 
 
 int
-my_spawn (char **argv, struct spawn_fd_item_s *fd_list, unsigned int flags)
+my_spawn (wchar_t **argv, struct spawn_fd_item_s *fd_list, unsigned int flags)
 {
   SECURITY_ATTRIBUTES sec_attr;
   PROCESS_INFORMATION pi =
@@ -120,12 +120,11 @@
       0,         /* returns pid */
       0          /* returns tid */
     };
-  STARTUPINFO si;
-  char *envblock = NULL;
+  STARTUPINFOW si;
   int cr_flags = CREATE_DEFAULT_ERROR_MODE
     | GetPriorityClass (GetCurrentProcess ());
   int i;
-  char *arg_string;
+  wchar_t *arg_string;
   int duped_stdin = 0;
   int duped_stdout = 0;
   int duped_stderr = 0;
@@ -134,7 +133,7 @@
   i = 0;
   while (argv[i])
     {
-      fprintf (mystderr, PGM": argv[%2i] = %s\n", i, argv[i]);
+      fprintf (mystderr, PGM": argv[%2i] = %S\n", i, argv[i]);
       i++;
     }
 
@@ -184,13 +183,13 @@
       memset (&sa, 0, sizeof sa);
       sa.nLength = sizeof sa;
       sa.bInheritHandle = TRUE;
-      hnul = CreateFile ("nul",
-                        GENERIC_READ|GENERIC_WRITE,
-                        FILE_SHARE_READ|FILE_SHARE_WRITE,
-                        &sa,
-                        OPEN_EXISTING,
-                        FILE_ATTRIBUTE_NORMAL,
-                        NULL);
+      hnul = CreateFileW (L"nul",
+                         GENERIC_READ|GENERIC_WRITE,
+                         FILE_SHARE_READ|FILE_SHARE_WRITE,
+                         &sa,
+                         OPEN_EXISTING,
+                         FILE_ATTRIBUTE_NORMAL,
+                         NULL);
       if (hnul == INVALID_HANDLE_VALUE)
        {
          free (arg_string);
@@ -210,13 +209,13 @@
     }
 
   cr_flags |= CREATE_SUSPENDED;
-  if (!CreateProcessA (argv[0],
+  if (!CreateProcessW (argv[0],
                       arg_string,
                       &sec_attr,     /* process security attributes */
                       &sec_attr,     /* thread security attributes */
                       TRUE,          /* inherit handles */
                       cr_flags,      /* creation flags */
-                      envblock,      /* environment */
+                      NULL,      /* environment */
                       NULL,          /* use current drive/directory */
                       &si,           /* startup information */
                       &pi))          /* returns process information */
@@ -247,7 +246,7 @@
         {
           /* Available since W2000; thus we dynload it.  */
           initialized = 1;
-          handle = LoadLibrary ("user32.dll");
+          handle = LoadLibraryA ("user32.dll");
           if (handle)
             {
               func = GetProcAddress (handle, "AllowSetForegroundWindow");
@@ -275,7 +274,7 @@
 #define MAX_TRANS 10
 
 int
-translate_get_from_file (const char *trans_file,
+translate_get_from_file (const wchar_t *trans_file,
                         struct spawn_fd_item_s *fd_list,
                          unsigned int *r_flags)
 {
@@ -292,7 +291,7 @@
 
   *r_flags = 0;
 
-  fd = open (trans_file, O_RDONLY);
+  fd = _wopen (trans_file, O_RDONLY);
   if (fd < 0)
     return -1;
 
@@ -389,14 +388,14 @@
 /* Read the translated handles from TRANS_FILE and do a substitution
    in ARGV.  Returns the new argv and the list of substitutions in
    FD_LIST (which must be MAX_TRANS+1 large).  */
-char **
-translate_handles (const char *trans_file, const char * const *argv,
+wchar_t **
+translate_handles (const wchar_t *trans_file, const wchar_t * const *argv,
                   struct spawn_fd_item_s *fd_list, unsigned int *r_flags)
 {
   int res;
   int idx;
   int n_args;
-  char **args;
+  wchar_t **args;
 
   res = translate_get_from_file (trans_file, fd_list, r_flags);
   if (res < 0)
@@ -407,7 +406,7 @@
   args = malloc (sizeof (*args) * (idx + 1));
   for (idx = 0; argv[idx]; idx++)
     {
-      args[idx] = strdup (argv[idx]);
+      args[idx] = wcsdup (argv[idx]);
       if (!args[idx])
        return NULL;
     }
@@ -416,7 +415,7 @@
 
   for (idx = 0; fd_list[idx].fd != -1; idx++)
     {
-      char buf[25];
+      wchar_t buf[25];
       int aidx;
 
       aidx = fd_list[idx].arg_loc;
@@ -439,20 +438,27 @@
       /* NOTE: Here is the part where application specific knowledge
         comes in.  GPGME/GnuPG uses two forms of descriptor
         specification, a plain number and a "-&" form.  */
-      if (argv[aidx][0] == '-' && argv[aidx][1] == '&')
-       snprintf (args[aidx], sizeof (buf), "-&%d", fd_list[idx].peer_name);
+      if (argv[aidx][0] == L'-' && argv[aidx][1] == L'&')
+       snwprintf (args[aidx], sizeof (buf), L"-&%d", fd_list[idx].peer_name);
       else
-       snprintf (args[aidx], sizeof (buf), "%d", fd_list[idx].peer_name);
+       snwprintf (args[aidx], sizeof (buf), L"%d", fd_list[idx].peer_name);
     }
   return args;
 }
 
 
+/* Since GPGME might be installed in a unicode directory it
+   must be callable with CreateProcessW which provides the
+   arguments in Unicode form.
+
+   So GPGME converts from its internal UTF-8 representation
+   to wchar, spawns gpgme-w32-spawn with CreateProcessW and then
+   we also forward this as wchar. */
 int
-main (int argc, const char * const *argv)
+wmain (int argc, const wchar_t * const *argv)
 {
   int rc = 0;
-  char **argv_spawn;
+  wchar_t **argv_spawn;
   struct spawn_fd_item_s fd_list[MAX_TRANS + 1];
   unsigned int flags;
 
@@ -479,7 +485,7 @@
   rc = my_spawn (argv_spawn, fd_list, flags);
   if (rc < 0)
     {
-      fprintf (mystderr, PGM": executing `%s' failed: %s\n",
+      fprintf (mystderr, PGM": executing `%S' failed: %s\n",
               argv[0], strerror (errno));
       rc = 2;
       goto leave;
@@ -491,8 +497,8 @@
   /* Always try to delete the temporary file.  */
   if (argc >= 2)
     {
-      if (DeleteFile (argv[1]) == 0)
-       fprintf (mystderr, PGM": failed to delete %s: ec=%ld\n",
+      if (DeleteFileW (argv[1]) == 0)
+       fprintf (mystderr, PGM": failed to delete %S: ec=%ld\n",
                 argv[1], GetLastError ());
     }
   return rc;

Reply via email to