Cygwin's writev() non-standard behavior
qq qq
miska0000@gmx.com
Wed Apr 23 14:06:00 GMT 2014
writev() does not accept count 0 but it should
$ cat test.c
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include <sys/uio.h>
int main()
{
 struct iovec vec;
 memset(&vec, 0, sizeof(vec));
 if (writev(1, &vec, 0) < 0)
  perror("writev");
 return 0;
}
Linux:
$ gcc -Wall test.c
$ ./a.out
Cygwin:
$ gcc -Wall test.c
$ ./a.exe
writev: Invalid argument
This behavior is buggy per:
   EINVAL ... the vector count count is less than zero or greater than the permitted maximum ...
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list