42 lines
1.1 KiB
Diff
42 lines
1.1 KiB
Diff
--- m4/curses.m4
|
|
+++ m4/curses.m4
|
|
@@ -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(ncursesw, 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
|
|
+++ pinentry/pinentry-curses.c
|
|
@@ -546,6 +545,14 @@
|
|
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)
|
|
@@ -684,6 +690,12 @@
|
|
if (screen)
|
|
delscreen (screen);
|
|
|
|
+ if (old_ctype)
|
|
+ {
|
|
+ setlocale (LC_CTYPE, old_ctype);
|
|
+ free(old_ctype);
|
|
+ }
|
|
+
|
|
if (ttyfi)
|
|
fclose (ttyfi);
|
|
if (ttyfo)
|