From 4418a2b904805814bbd14b555d6add6a175f49f3 Mon Sep 17 00:00:00 2001 From: Jean Sacren Date: Wed, 4 Aug 2010 16:03:16 -0600 Subject: [PATCH] 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 Signed-off-by: Michal Marek --- scripts/kconfig/conf.c | 15 +++++++++++++-- scripts/kconfig/lkc.h | 3 +++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c index 010600ef58c..4f0ed5b3a75 100644 --- a/scripts/kconfig/conf.c +++ b/scripts/kconfig/conf.c @@ -108,7 +108,7 @@ static int conf_askvalue(struct symbol *sym, const char *def) check_stdin(); case oldaskconfig: fflush(stdout); - fgets(line, 128, stdin); + xfgets(line, 128, stdin); return 1; default: break; @@ -306,7 +306,7 @@ static int conf_choice(struct menu *menu) check_stdin(); case oldaskconfig: fflush(stdout); - fgets(line, 128, stdin); + xfgets(line, 128, stdin); strip(line); if (line[0] == '?') { print_help(menu); @@ -644,3 +644,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"); +} diff --git a/scripts/kconfig/lkc.h b/scripts/kconfig/lkc.h index 2ac33f5d273..bdf71bd3141 100644 --- a/scripts/kconfig/lkc.h +++ b/scripts/kconfig/lkc.h @@ -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); -- 2.20.1