diff --git a/Makefile.am b/Makefile.am index 1685c3dc..ee9a8795 100644 --- a/Makefile.am +++ b/Makefile.am @@ -253,9 +253,6 @@ endif if NO_CFMAKERAW nodist_tmux_SOURCES += compat/cfmakeraw.c endif -if NO_OPENAT -nodist_tmux_SOURCES += compat/openat.c -endif if NO_REALLOCARRAY nodist_tmux_SOURCES += compat/reallocarray.c endif diff --git a/compat.h b/compat.h index 12f99d13..f5275223 100644 --- a/compat.h +++ b/compat.h @@ -279,12 +279,6 @@ int unsetenv(const char *); void cfmakeraw(struct termios *); #endif -#ifndef HAVE_OPENAT -/* openat.c */ -#define AT_FDCWD -100 -int openat(int, const char *, int, ...); -#endif - #ifndef HAVE_REALLOCARRAY /* reallocarray.c */ void *reallocarray(void *, size_t, size_t); diff --git a/compat/openat.c b/compat/openat.c deleted file mode 100644 index d003e53d..00000000 --- a/compat/openat.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2013 Nicholas Marriott - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER - * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING - * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include -#include - -#include "tmux.h" - -int -openat(int fd, const char *path, int flags, ...) -{ - mode_t mode; - va_list ap; - int dotfd, retval, saved_errno; - - if (flags & O_CREAT) { - va_start(ap, flags); - mode = va_arg(ap, mode_t); - va_end(ap); - } else - mode = 0; - - dotfd = -1; - if (fd != AT_FDCWD) { - dotfd = open(".", O_RDONLY); - if (dotfd == -1) - return (-1); - if (fchdir(fd) != 0) { - saved_errno = errno; - close(dotfd); - errno = saved_errno; - return (-1); - } - } - - retval = open(path, flags, mode); - - if (dotfd != -1) { - if (fchdir(dotfd) != 0) { - saved_errno = errno; - close(retval); - close(dotfd); - errno = saved_errno; - return (-1); - } - close(dotfd); - } - - return (retval); -} diff --git a/configure.ac b/configure.ac index c383e483..77c82d5e 100644 --- a/configure.ac +++ b/configure.ac @@ -458,13 +458,6 @@ if test "x$found_cfmakeraw" = xyes; then fi AM_CONDITIONAL(NO_CFMAKERAW, [test "x$found_cfmakeraw" = xno]) -# Look for openat, compat/openat.c used if missing. -AC_CHECK_FUNC(openat, found_openat=yes, found_openat=no) -if test "x$found_openat" = xyes; then - AC_DEFINE(HAVE_OPENAT) -fi -AM_CONDITIONAL(NO_OPENAT, [test "x$found_openat" = xno]) - # Look for reallocarray, compat/reallocarray.c used if missing. AC_CHECK_FUNC(reallocarray, found_reallocarray=yes, found_reallocarray=no) if test "x$found_reallocarray" = xyes; then