/* | |
#progos: linux | |
*/ | |
/* Check that we get a proper error indication if trying ftruncate on a | |
fd that is a pipe descriptor. */ | |
#include <stdio.h> | |
#include <stdlib.h> | |
#include <errno.h> | |
#include <unistd.h> | |
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); | |
} |