kconfig: Fix warning: ignoring return value of 'fgets'
authorJean Sacren <sakiwit@gmail.com>
Wed, 4 Aug 2010 22:03:16 +0000 (16:03 -0600)
committerMichal Marek <mmarek@suse.cz>
Thu, 12 Aug 2010 22:40:35 +0000 (00:40 +0200)
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>
scripts/kconfig/conf.c
scripts/kconfig/lkc.h

index 010600ef58c0293fa9f73110c42bb14a707a8ed0..4f0ed5b3a75e30f5194092bb63731bcac1c1bb04 100644 (file)
@@ -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");
+}
index 2ac33f5d273c0e7e4c41197f933ec2c593ce2571..bdf71bd314127755cdf3f5d5d3ac02ecbeeb1f71 100644 (file)
@@ -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);