changeset 12204:5929f9acfa94

fprintftime: avoid a warning about ignored fwrite return value * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h". (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically, that is unsafe. * modules/fprintftime (Depends-on): Add ignore-value.
author Jim Meyering <meyering@redhat.com>
date Wed, 28 Oct 2009 10:24:09 +0100
parents e298b64a31cf
children bd01eb4a7146
files ChangeLog lib/strftime.c modules/fprintftime
diffstat 3 files changed, 17 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2009-10-28  Jim Meyering  <meyering@redhat.com>
 
+	fprintftime: avoid a warning about ignored fwrite return value
+	* lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
+	(cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
+	that is unsafe.
+	* modules/fprintftime (Depends-on): Add ignore-value.
+
 	exclude: avoid an unwarranted warning
 	* lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
 
--- a/lib/strftime.c
+++ b/lib/strftime.c
@@ -31,6 +31,7 @@
 # else
 #  include "strftime.h"
 # endif
+# include "ignore-value.h"
 #endif
 
 #include <ctype.h>
@@ -203,7 +204,15 @@
 	 else if (to_uppcase)						      \
 	   fwrite_uppcase (p, (s), _n);					      \
 	 else								      \
-	   fwrite ((s), _n, 1, p))
+	   {								      \
+	     /* We are ignoring the value of fwrite here, in spite of the     \
+		fact that technically, that may not be valid: the fwrite      \
+		specification in POSIX 2008 defers to that of fputc, which    \
+		is intended to be consistent with the one from ISO C,         \
+		which permits failure due to ENOMEM *without* setting the     \
+		stream's error indicator.  */                                 \
+	     ignore_value (fwrite ((s), _n, 1, p)));			      \
+	   }
 #else
 # define cpy(n, s)							      \
     add ((n),								      \
--- a/modules/fprintftime
+++ b/modules/fprintftime
@@ -7,6 +7,7 @@
 m4/fprintftime.m4
 
 Depends-on:
+ignore-value
 strftime
 
 configure.ac: