From 2519f2ecacdb7e9dac9875649cda3b8cc448fdce Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 17:02:47 +0000 Subject: * Ensure that the comparison of the "yes" character in ... Author: mdz Date: 2003-08-09 00:26:29 GMT * Ensure that the comparison of the "yes" character in YnPrompt is done with unsigned values, so that 8-bit characters work correctly. This should probably all use nl_langinfo(YESEXPR) at some point instead. (Closes: #200953) * Pass the translated character through toupper(3), so that it doesn't really matter anymore whether the translated string is uppercase --- cmdline/apt-get.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'cmdline/apt-get.cc') diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index ab069ddc2..f744177e3 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: apt-get.cc,v 1.136 2003/08/08 23:48:48 mdz Exp $ +// $Id: apt-get.cc,v 1.137 2003/08/09 00:26:30 mdz Exp $ /* ###################################################################### apt-get - Cover for dpkg @@ -121,15 +121,15 @@ bool YnPrompt() return true; } - char C = 0; - char Jnk = 0; + unsigned char C = 0; + unsigned char Jnk = 0; if (read(STDIN_FILENO,&C,1) != 1) return false; while (C != '\n' && Jnk != '\n') if (read(STDIN_FILENO,&Jnk,1) != 1) return false; - if (!(toupper(C) == *Yes || C == '\n' || C == '\r')) + if (!(toupper(C) == toupper((unsigned char)(*Yes)) || C == '\n' || C == '\r')) return false; return true; } -- cgit v1.2.3