diff options
Diffstat (limited to 'sm/misc.c')
-rw-r--r-- | sm/misc.c | 36 |
1 files changed, 34 insertions, 2 deletions
@@ -1,5 +1,5 @@ /* misc.c - Miscellaneous fucntions - * Copyright (C) 2001 Free Software Foundation, Inc. + * Copyright (C) 2004 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -25,9 +25,41 @@ #include <string.h> #include <ctype.h> #include <unistd.h> +#ifdef HAVE_LOCALE_H +#include <locale.h> +#endif #include "gpgsm.h" -#include <ksba.h> +/* Setup the environment so that the pinentry is able to get all + required information. This is used prior to an exec of the + protect-tool. */ +void +setup_pinentry_env (void) +{ + char *lc; + + if (opt.display) + setenv ("DISPLAY", opt.display, 1); + if (opt.ttyname) + setenv ("GPG_TTY", opt.ttyname, 1); + if (opt.ttytype) + setenv ("TERM", opt.ttytype, 1); + + if (opt.lc_ctype) + setenv ("LC_CTYPE", opt.lc_ctype, 1); +#if defined(HAVE_SETLOCALE) && defined(LC_CTYPE) + else if ( (lc = setlocale (LC_CTYPE, "")) ) + setenv ("LC_CTYPE", lc, 1); +#endif + + if (opt.lc_messages) + setenv ("LC_MESSAGES", opt.lc_messages, 1); +#if defined(HAVE_SETLOCALE) && defined(LC_MESSAGES) + else if ( (lc = setlocale (LC_MESSAGES, "")) ) + setenv ("LC_MESSAGES", lc, 1); +#endif + +} |