[Pkg-gnupg-commit] [gpgme] 18/62: w32: Fix locating gpgconf on 64 bit systems.

Daniel Kahn Gillmor dkg at fifthhorseman.net
Sat Nov 19 04:03:32 UTC 2016


This is an automated email from the git hooks/post-receive script.

dkg pushed a commit to branch experimental
in repository gpgme.

commit df08a0ca3f029b06b7e3a6bd63330df5cb96585a
Author: Werner Koch <wk at gnupg.org>
Date:   Fri Nov 4 08:10:34 2016 +0100

    w32: Fix locating gpgconf on 64 bit systems.
    
    * src/w32-util.c (find_program_at_standard_place): Use access to check
    whether the binary is at CSIDL_PROGRAM_FILES before testing
    CSIDL_PROGRAM_FILESX86.
    --
    
    Suggested-by: ticho
    Fixes-commit: a82e9b182f62966207cad0972be6fa284329a5a1
    GnuPG-bug-id: 2814
    Signed-off-by: Werner Koch <wk at gnupg.org>
---
 src/w32-util.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/w32-util.c b/src/w32-util.c
index 21de6dc..0dc1288 100644
--- a/src/w32-util.c
+++ b/src/w32-util.c
@@ -415,8 +415,17 @@ find_program_at_standard_place (const char *name)
      We First try the generic place and then fallback to the x86
      (i.e. 32 bit) place.  This will prefer a 64 bit of the program
      over a 32 bit version on 64 bit Windows if installed.  */
-  if (SHGetSpecialFolderPathA (NULL, path, CSIDL_PROGRAM_FILES, 0)
-      || SHGetSpecialFolderPathA (NULL, path, CSIDL_PROGRAM_FILESX86, 0))
+  if (SHGetSpecialFolderPathA (NULL, path, CSIDL_PROGRAM_FILES, 0))
+    {
+      result = _gpgme_strconcat (path, "\\", name, NULL);
+      if (result && access (result, F_OK))
+        {
+          free (result);
+          result = NULL;
+        }
+    }
+  if (!result
+      && SHGetSpecialFolderPathA (NULL, path, CSIDL_PROGRAM_FILESX86, 0))
     {
       result = _gpgme_strconcat (path, "\\", name, NULL);
       if (result && access (result, F_OK))

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gpgme.git



More information about the Pkg-gnupg-commit mailing list