diff options
Diffstat (limited to 'security/pinentry/files/patch-curses-utf')
-rw-r--r-- | security/pinentry/files/patch-curses-utf | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/security/pinentry/files/patch-curses-utf b/security/pinentry/files/patch-curses-utf new file mode 100644 index 000000000000..9c11655966af --- /dev/null +++ b/security/pinentry/files/patch-curses-utf @@ -0,0 +1,40 @@ +--- m4/curses.m4.orig 2005-09-08 21:25:01.000000000 +0600 ++++ m4/curses.m4 2008-02-17 22:23:32.000000000 +0500 +@@ -28,7 +28,7 @@ + AC_ARG_ENABLE(ncurses, [ --disable-ncurses don't prefer -lncurses over -lcurses], + , enable_ncurses=yes) + if test "$enable_ncurses" = yes; then +- AC_CHECK_LIB(ncurses, initscr, LIBNCURSES="-lncurses") ++ AC_CHECK_LIB(ncurses, initscr, LIBNCURSES="-lncursesw") + if test "$LIBNCURSES"; then + # Use ncurses header files instead of the ordinary ones, if possible; + # is there a better way of doing this, that avoids looking in specific +--- pinentry/pinentry-curses.c.orig 2007-06-15 17:36:39.000000000 +0600 ++++ pinentry/pinentry-curses.c 2008-02-17 22:28:40.000000000 +0500 +@@ -587,6 +587,13 @@ + SCREEN *screen = 0; + int done = 0; + char *pin_utf8; ++ char *old_ctype = NULL; ++ ++ if (pinentry->lc_ctype) ++ { ++ old_ctype = strdup (setlocale (LC_CTYPE, NULL)); ++ setlocale (LC_CTYPE, pinentry->lc_ctype); ++ } + + /* Open the desired terminal if necessary. */ + if (tty_name) +@@ -739,6 +746,12 @@ + if (screen) + delscreen (screen); + ++ if (old_ctype) ++ { ++ setlocale (LC_CTYPE, old_ctype); ++ free(old_ctype); ++ } ++ + if (ttyfi) + fclose (ttyfi); + if (ttyfo) |