40 lines
586 B
C
40 lines
586 B
C
|
/*
|
||
|
#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);
|
||
|
}
|