Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 78a8acc

Browse files
committed
Patch #914291: Restore locale while readline is running.
1 parent ae075b6 commit 78a8acc

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

Modules/readline.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -821,6 +821,10 @@ readline_until_enter_or_signal(char *prompt, int *signal)
821821
static char *
822822
call_readline(FILE *sys_stdin, FILE *sys_stdout, char *prompt)
823823
{
824+
#ifdef SAVE_LOCALE
825+
char *saved_locale = strdup(setlocale(LC_CTYPE, NULL));
826+
setlocale(LC_CTYPE, "");
827+
#endif
824828
size_t n;
825829
char *p, *q;
826830
int signal;
@@ -879,6 +883,10 @@ call_readline(FILE *sys_stdin, FILE *sys_stdout, char *prompt)
879883
p[n+1] = '\0';
880884
}
881885
free(q);
886+
#ifdef SAVE_LOCALE
887+
setlocale(LC_CTYPE, saved_locale); /* Restore locale */
888+
free(saved_locale);
889+
#endif
882890
return p;
883891
}
884892

0 commit comments

Comments
 (0)