From 988f8303c7f30d0db5db3e15bf973e2bdf5c867e Mon Sep 17 00:00:00 2001 From: Rob Sykes Date: Mon, 27 May 2013 21:07:14 +0100 Subject: [PATCH] Be more POSIX compliant w.r.t. errno; fixes erroneousl reporting of errors on FreeBSD --- examples/2-stream.C | 6 +++--- examples/3-options-input-fn.c | 7 ++++--- examples/4-split-channels.c | 7 ++++--- examples/5-variable-rate.c | 6 +++--- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/examples/2-stream.C b/examples/2-stream.C index 9d703f6..29c1bf6 100644 --- a/examples/2-stream.C +++ b/examples/2-stream.C @@ -72,7 +72,7 @@ int main(int argc, char const * arg[]) soxr_delete(soxr); free(obuf), free(ibuf); /* Diagnostics: */ - fprintf(stderr, "%-26s %s; I/O: %s\n", arg[0], - soxr_strerror(error), errno? strerror(errno) : "no error"); - return error || errno; + fprintf(stderr, "%-26s %s; I/O: %s\n", arg[0], soxr_strerror(error), + ferror(stdin) || ferror(stdout)? strerror(errno) : "no error"); + return !!error; } diff --git a/examples/3-options-input-fn.c b/examples/3-options-input-fn.c index bb0bf2d..7acc2d5 100644 --- a/examples/3-options-input-fn.c +++ b/examples/3-options-input-fn.c @@ -104,7 +104,8 @@ int main(int n, char const * arg[]) soxr_delete(soxr); free(obuf), free(ibuf); /* Diagnostics: */ - fprintf(stderr, "%-26s %s; %lu clips; I/O: %s\n", arg0, soxr_strerror(error), - (long unsigned)clips, errno? strerror(errno) : "no error"); - return error || errno; + fprintf(stderr, "%-26s %s; %lu clips; I/O: %s\n", + arg0, soxr_strerror(error), (long unsigned)clips, + ferror(stdin) || ferror(stdout)? strerror(errno) : "no error"); + return !!error; } diff --git a/examples/4-split-channels.c b/examples/4-split-channels.c index a441598..d6448aa 100644 --- a/examples/4-split-channels.c +++ b/examples/4-split-channels.c @@ -141,7 +141,8 @@ int main(int n, char const * arg[]) free(obuf), free(ibuf), free(obufs), free(ibufs); free(obuf_ptrs), free(ibuf_ptrs); /* Diagnostics: */ - fprintf(stderr, "%-26s %s; %lu clips; I/O: %s\n", arg0, soxr_strerror(error), - (long unsigned)clips, errno? strerror(errno) : "no error"); - return error || errno; + fprintf(stderr, "%-26s %s; %lu clips; I/O: %s\n", + arg0, soxr_strerror(error), (long unsigned)clips, + ferror(stdin) || ferror(stdout)? strerror(errno) : "no error"); + return !!error; } diff --git a/examples/5-variable-rate.c b/examples/5-variable-rate.c index a2496c9..dc9efa3 100644 --- a/examples/5-variable-rate.c +++ b/examples/5-variable-rate.c @@ -88,7 +88,7 @@ int main(int argc, char *arg[]) soxr_delete(soxr); } /* Diagnostics: */ - fprintf(stderr, "%-26s %s; I/O: %s\n", arg[0], - soxr_strerror(error), errno? strerror(errno) : "no error"); - return error || errno; + fprintf(stderr, "%-26s %s; I/O: %s\n", arg[0], soxr_strerror(error), + ferror(stdin) || ferror(stdout)? strerror(errno) : "no error"); + return !!error; }