On 02/17/2011 12:54 PM, Kevin Grittner wrote:
> Andrew Dunstan<andrew@dunslane.net> wrote:
>
>> Ugh. Isn't there some sort of pragma or similar we can use to shut
>> it up?
>
> If that fails, maybe use some function like the below? That would
> also have the advantage of not relying on assumptions beyond the
> documented API, which I tend to feel good about no matter how sure I
> am that the implementation details upon which I'm relying won't
> change.
>
> No claims that this is good final form, especially when it comes to
> using ssize_t, but just trying to get across the general idea:
>
> void
> write_completely_ignore_errors(int filedes, const void *buffer,
> size_t size)
> {
> size_t t = 0;
> while (t< size)
> {
> ssize_t n = write(filedes, buffer, size - t);
> if (n<= 0)
> break;
> t += n;
> }
> }
In a very modern gcc, where we seem to be getting the errors from, maybe
|#pragma GCC diagnostic push |#pragma GCC diagnostic ignored "-Wunused-result" write( ...); #pragma GCC
diagnosticpop
would work. See
<http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html#Diagnostic-Pragmas>
cheers
andrew