/* Invoke pipe, but avoid some glitches.
- Copyright (C) 2005-2006, 2009-2016 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2021 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
/* Written by Jim Meyering. */
int
pipe_safer (int fd[2])
{
-#if HAVE_PIPE
if (pipe (fd) == 0)
{
int i;
fd[i] = fd_safer (fd[i]);
if (fd[i] < 0)
{
- int e = errno;
+ int saved_errno = errno;
close (fd[1 - i]);
- errno = e;
+ errno = saved_errno;
return -1;
}
}
return 0;
}
-#else
- errno = ENOSYS;
-#endif
return -1;
}