I must admit I haven't been following the warnings problem very closely, but perhaps we shouldn't be ignoring these return codes?
Quoth David Edmondson on Dec 21 at 9:38 pm: > --- > > The mechanism used here works for me in an isolated test case and no > warnings appear when using it as below, but I'm unsure why the > original warning that it is intended to address didn't appear when I > build. Any thoughts? > > compat/compat.h | 6 ++++++ > notmuch-new.c | 2 +- > notmuch-show.c | 2 +- > notmuch-tag.c | 2 +- > 4 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/compat/compat.h b/compat/compat.h > index 7767fe8..1160301 100644 > --- a/compat/compat.h > +++ b/compat/compat.h > @@ -30,6 +30,12 @@ > extern "C" { > #endif > > +#ifdef __GNUC__ > +#define ignore_result(x) ({ __typeof__(x) z = x; (void) sizeof (z); }) > +#else /* !__GNUC__ */ > +#define ignore_result(x) x > +#endif /* __GNUC__ */ > + > #if !HAVE_GETLINE > #include <stdio.h> > #include <unistd.h> > diff --git a/notmuch-new.c b/notmuch-new.c > index 3512de7..0ac04cc 100644 > --- a/notmuch-new.c > +++ b/notmuch-new.c > @@ -67,7 +67,7 @@ handle_sigint (unused (int sig)) > { > static char msg[] = "Stopping... \n"; > > - (void) write(2, msg, sizeof(msg)-1); > + ignore_result(write(STDERR_FILENO, msg, sizeof(msg)-1)); > interrupted = 1; > } > > diff --git a/notmuch-show.c b/notmuch-show.c > index 19fb49f..681f778 100644 > --- a/notmuch-show.c > +++ b/notmuch-show.c > @@ -866,7 +866,7 @@ do_show_single (void *ctx, > > while (!feof (file)) { > size = fread (buf, 1, sizeof (buf), file); > - (void) fwrite (buf, size, 1, stdout); > + ignore_result(fwrite (buf, size, 1, stdout)); > } > > fclose (file); > diff --git a/notmuch-tag.c b/notmuch-tag.c > index 292c5da..2cbfdc3 100644 > --- a/notmuch-tag.c > +++ b/notmuch-tag.c > @@ -26,7 +26,7 @@ static void > handle_sigint (unused (int sig)) > { > static char msg[] = "Stopping... \n"; > - (void) write(2, msg, sizeof(msg)-1); > + ignore_result(write(STDERR_FILENO, msg, sizeof(msg)-1)); > interrupted = 1; > } > _______________________________________________ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch