In some cases if the translation file is missing some translations,
mke2fs can end up printing an English message, e.g.:
% LANG=it_IT.UTF-8 ./mke2fs /tmp/foo.img 8M
mke2fs 1.45.1 (12-May-2019)
/tmp/foo.img contiene un file system ext4
created on Mon May 27 19:35:48 2019
Proceed anyway? (y,N)
However, if there is a translation for string to match with "yY"
(e.g., to "sS" for Italian), then 'y' won't work. Fix this by falling
back to the english 'yY' characters.
Addresses-Debian-Bug: #907034
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
{
char buf[256];
const char *short_yes = _("yY");
+ const char *english_yes = "yY";
fflush(stdout);
fflush(stderr);
fputs(_("Proceed anyway? (y,N) "), stdout);
buf[0] = 0;
if (!fgets(buf, sizeof(buf), stdin) ||
- strchr(short_yes, buf[0]) == 0) {
+ strchr(_("nN"), buf[0]) ||
+ !(strchr(short_yes, buf[0]) ||
+ strchr(english_yes, buf[0]))) {
putc('\n', stdout);
exit(1);
}