[PATCH] regedit: fgetc() gets int, not char (Coverity)
Marcus Meissner
meissner at suse.de
Wed Feb 23 10:20:43 CST 2011
Hi,
fgetc() returns integer wide ints, but the only one
outside of "char" scope is "EOF". So use a int temporary
and check EOF against it.
Ciao, Marcus
---
programs/regedit/regproc.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/programs/regedit/regproc.c b/programs/regedit/regproc.c
index ff97970..f753947 100644
--- a/programs/regedit/regproc.c
+++ b/programs/regedit/regproc.c
@@ -664,8 +664,11 @@ static void processRegLinesA(FILE *in, char* first_chars)
/* get a single line. note that `i' must be one past the last
* meaningful character in `s' when this loop exits */
for(i = 0; i < size_to_get-1; ++i){
- s[i] = fgetc(in);
- if(s[i] == EOF){
+ int xchar;
+
+ xchar = fgetc(in);
+ s[i] = xchar;
+ if(xchar == EOF){
if(ferror(in)){
perror("While reading input");
exit(IO_ERROR);
--
1.7.1
More information about the wine-patches
mailing list