/* #progos: linux */ /* Check that we get a proper error indication if trying ftruncate on a fd that is a pipe descriptor. */ #include #include #include #include int main (void) { int pip[2]; if (pipe (pip) != 0) { perror ("pipe"); abort (); } if (ftruncate (pip[0], 20) == 0 || errno != EINVAL) { perror ("ftruncate 1"); abort (); } errno = 0; if (ftruncate (pip[1], 20) == 0 || errno != EINVAL) { perror ("ftruncate 2"); abort (); } printf ("pass\n"); exit (0); }