From e8402d514edc8ff537a46aff963634e028af56c5 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 20 Feb 2007 14:55:32 +0000 Subject: [PATCH] * call-pinentry.c (start_pinentry): Fix for OS X to allow loading of the bundle. Tested by Benjamin Donnachie. --- agent/ChangeLog | 5 +++++ agent/call-pinentry.c | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/agent/ChangeLog b/agent/ChangeLog index cd19f35cf..e78d2dc5c 100644 --- a/agent/ChangeLog +++ b/agent/ChangeLog @@ -1,3 +1,8 @@ +2007-02-20 Werner Koch + + * call-pinentry.c (start_pinentry): Fix for OS X to allow loading + of the bundle. Tested by Benjamin Donnachie. + 2007-02-14 Werner Koch * gpg-agent.c: New option --pinentry-touch-file. diff --git a/agent/call-pinentry.c b/agent/call-pinentry.c index 8b527b2d5..14e6476d8 100644 --- a/agent/call-pinentry.c +++ b/agent/call-pinentry.c @@ -214,12 +214,21 @@ start_pinentry (ctrl_t ctrl) if (!opt.pinentry_program || !*opt.pinentry_program) opt.pinentry_program = GNUPG_DEFAULT_PINENTRY; + pgmname = opt.pinentry_program; if ( !(pgmname = strrchr (opt.pinentry_program, '/'))) pgmname = opt.pinentry_program; else pgmname++; + /* OS X needs the entire file name in argv[0], so that it can locate + the resource bundle. For other systems we stick to the the usual + convention of supplying only the name of the program. */ +#ifdef __APPLE__ + argv[0] = opt.pinentry_program; +#else /*!__APPLE__*/ argv[0] = pgmname; +#endif /*__APPLE__*/ + if (ctrl->display && !opt.keep_display) { argv[1] = "--display";