X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fwrite.c;h=3a98f24f94ea0e7cae3db92c0f1b3d3c87c13388;hb=9f46144c41dd826d3bba1456f3f73497c570e87d;hp=250b5cc8fd4b30ee6f874d487127612a1d2fc801;hpb=94b87393b6947b51b2a842cd88820a3cb60d8cd4;p=gnulib.git diff --git a/lib/write.c b/lib/write.c index 250b5cc8f..3a98f24f9 100644 --- a/lib/write.c +++ b/lib/write.c @@ -1,5 +1,5 @@ /* POSIX compatible write() function. - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008-2010 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -46,14 +46,14 @@ rpl_write (int fd, const void *buf, size_t count) if (ret < 0) { if (GetLastError () == ERROR_NO_DATA - && GetFileType (_get_osfhandle (fd)) == FILE_TYPE_PIPE) - { - /* Try to raise signal SIGPIPE. */ - raise (SIGPIPE); - /* If it is currently blocked or ignored, change errno from EINVAL - to EPIPE. */ - errno = EPIPE; - } + && GetFileType ((HANDLE) _get_osfhandle (fd)) == FILE_TYPE_PIPE) + { + /* Try to raise signal SIGPIPE. */ + raise (SIGPIPE); + /* If it is currently blocked or ignored, change errno from EINVAL + to EPIPE. */ + errno = EPIPE; + } } return ret; }