Permalink
Browse files

kconfig: Fix warning: ignoring return value of 'fgets'

This fix facilitates fgets() either it returns on success or on error or
when end of file occurs.

Signed-off-by: Jean Sacren <sakiwit@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
  • Loading branch information...
sacren authored and psyke83 committed Aug 4, 2010
1 parent a0206e0 commit 32226487a30f1519982500ca606820db161af5f5
Showing with 16 additions and 2 deletions.
  1. +13 −2 scripts/kconfig/conf.c
  2. +3 −0 scripts/kconfig/lkc.h
View
@@ -102,7 +102,7 @@ static int conf_askvalue(struct symbol *sym, const char *def)
check_stdin();
case ask_all:
fflush(stdout);
- fgets(line, 128, stdin);
+ xfgets(line, 128, stdin);
return 1;
default:
break;
@@ -304,7 +304,7 @@ static int conf_choice(struct menu *menu)
check_stdin();
case ask_all:
fflush(stdout);
- fgets(line, 128, stdin);
+ xfgets(line, 128, stdin);
strip(line);
if (line[0] == '?') {
print_help(menu);
@@ -615,3 +615,14 @@ int main(int ac, char **av)
}
return 0;
}
+/*
+ * Helper function to facilitate fgets() by Jean Sacren.
+ */
+void xfgets(str, size, in)
+ char *str;
+ int size;
+ FILE *in;
+{
+ if (fgets(str, size, in) == NULL)
+ fprintf(stderr, "\nError in reading or end of file.\n");
+}
View
@@ -72,6 +72,9 @@ void zconf_nextfile(const char *name);
int zconf_lineno(void);
char *zconf_curname(void);
+/* conf.c */
+void xfgets(char *str, int size, FILE *in);
+
/* confdata.c */
const char *conf_get_configname(void);
const char *conf_get_autoconfig_name(void);

0 comments on commit 3222648

Please sign in to comment.