summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean Sacren <sakiwit@gmail.com>2010-08-04 16:01:02 -0600
committerMichal Marek <mmarek@suse.cz>2010-08-13 00:40:26 +0200
commitbf5e327a300a9ac959a89440e7c67dc89f3bd804 (patch)
treec8be365e0580656dd049e23ef5814bbafe8d73f5
parent866af407dad3f2202e5d5d717ebd6156ccc33cdd (diff)
downloadlinux-3.10-bf5e327a300a9ac959a89440e7c67dc89f3bd804.tar.gz
linux-3.10-bf5e327a300a9ac959a89440e7c67dc89f3bd804.tar.bz2
linux-3.10-bf5e327a300a9ac959a89440e7c67dc89f3bd804.zip
kconfig: Fix warning: ignoring return value of 'fwrite'
This fix facilitates fwrite() in both confdata.c and expr.c, either it succeeds in writing, or an error occurs, or the end of file is reached. Signed-off-by: Jean Sacren <sakiwit@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
-rw-r--r--scripts/kconfig/confdata.c2
-rw-r--r--scripts/kconfig/expr.c2
-rw-r--r--scripts/kconfig/lkc.h7
3 files changed, 9 insertions, 2 deletions
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index ac13f0ff8e8..c39327e60ea 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -412,7 +412,7 @@ static void conf_write_string(bool headerfile, const char *name,
while (1) {
l = strcspn(str, "\"\\");
if (l) {
- fwrite(str, l, 1, out);
+ xfwrite(str, l, 1, out);
str += l;
}
if (!*str)
diff --git a/scripts/kconfig/expr.c b/scripts/kconfig/expr.c
index 8f18e37892c..330e7c0048a 100644
--- a/scripts/kconfig/expr.c
+++ b/scripts/kconfig/expr.c
@@ -1087,7 +1087,7 @@ void expr_print(struct expr *e, void (*fn)(void *, struct symbol *, const char *
static void expr_print_file_helper(void *data, struct symbol *sym, const char *str)
{
- fwrite(str, strlen(str), 1, data);
+ xfwrite(str, strlen(str), 1, data);
}
void expr_fprint(struct expr *e, FILE *out)
diff --git a/scripts/kconfig/lkc.h b/scripts/kconfig/lkc.h
index 76db065ed72..2ac33f5d273 100644
--- a/scripts/kconfig/lkc.h
+++ b/scripts/kconfig/lkc.h
@@ -80,6 +80,13 @@ void sym_set_change_count(int count);
void sym_add_change_count(int count);
void conf_set_all_new_symbols(enum conf_def_mode mode);
+/* confdata.c and expr.c */
+static inline void xfwrite(const void *str, size_t len, size_t count, FILE *out)
+{
+ if (fwrite(str, len, count, out) < count)
+ fprintf(stderr, "\nError in writing or end of file.\n");
+}
+
/* kconfig_load.c */
void kconfig_load(void);