summaryrefslogtreecommitdiff
path: root/tests/dup.c
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2025-10-18 19:06:52 +0200
committerJörg Frings-Fürst <debian@jff.email>2025-10-18 19:06:52 +0200
commit27dae84ed92f1ef0300263091972338d12e78348 (patch)
tree7c52931f474fafb8a4bd4fd15ca3461c77cdecc2 /tests/dup.c
parent4682deeb62247d34de87f8e777f99e2d337fd377 (diff)
New upstream version 1.4.1upstream/1.4.1upstream
Diffstat (limited to 'tests/dup.c')
-rw-r--r--tests/dup.c92
1 files changed, 0 insertions, 92 deletions
diff --git a/tests/dup.c b/tests/dup.c
deleted file mode 100644
index db268036..00000000
--- a/tests/dup.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Duplicate an open file descriptor.
-
- Copyright (C) 2011-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include <unistd.h>
-
-#include <errno.h>
-
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
-# include "msvc-inval.h"
-#endif
-
-#undef dup
-
-#if defined _WIN32 && !defined __CYGWIN__
-# if HAVE_MSVC_INVALID_PARAMETER_HANDLER
-static int
-dup_nothrow (int fd)
-{
- int result;
-
- TRY_MSVC_INVAL
- {
- result = _dup (fd);
- }
- CATCH_MSVC_INVAL
- {
- result = -1;
- errno = EBADF;
- }
- DONE_MSVC_INVAL;
-
- return result;
-}
-# else
-# define dup_nothrow _dup
-# endif
-#elif defined __KLIBC__
-# include <fcntl.h>
-# include <sys/stat.h>
-
-# include <InnoTekLIBC/backend.h>
-
-static int
-dup_nothrow (int fd)
-{
- int dupfd;
- struct stat sbuf;
-
- dupfd = dup (fd);
- if (dupfd == -1 && errno == ENOTSUP \
- && !fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode))
- {
- char path[_MAX_PATH];
-
- /* Get a path from fd */
- if (!__libc_Back_ioFHToPath (fd, path, sizeof (path)))
- dupfd = open (path, O_RDONLY);
- }
-
- return dupfd;
-}
-#else
-# define dup_nothrow dup
-#endif
-
-int
-rpl_dup (int fd)
-{
- int result = dup_nothrow (fd);
-#if REPLACE_FCHDIR
- if (result >= 0)
- result = _gl_register_dup (fd, result);
-#endif
- return result;
-}