From e438d7f1b37f2d8b29ae028b15f95442e48dd9e7 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Mon, 18 Nov 2019 12:40:39 +0100 Subject: Remove directory stack code Signed-off-by: David Oberhollenzer --- lib/common/Makemodule.am | 3 +- lib/common/dirstack.c | 78 ------------------------------------------------ 2 files changed, 1 insertion(+), 80 deletions(-) delete mode 100644 lib/common/dirstack.c (limited to 'lib/common') diff --git a/lib/common/Makemodule.am b/lib/common/Makemodule.am index 4f4562b..2e5a812 100644 --- a/lib/common/Makemodule.am +++ b/lib/common/Makemodule.am @@ -5,7 +5,6 @@ libcommon_a_SOURCES += lib/common/compress.c lib/common/comp_opt.c libcommon_a_SOURCES += lib/common/data_writer.c include/common.h libcommon_a_SOURCES += lib/common/get_path.c lib/common/io_stdin.c libcommon_a_SOURCES += lib/common/writer.c lib/common/perror.c -libcommon_a_SOURCES += lib/common/dirstack.c lib/common/mkdir_p.c -libcommon_a_SOURCES += lib/common/filename_sane.c +libcommon_a_SOURCES += lib/common/mkdir_p.c lib/common/filename_sane.c noinst_LIBRARIES += libcommon.a diff --git a/lib/common/dirstack.c b/lib/common/dirstack.c deleted file mode 100644 index f8d1278..0000000 --- a/lib/common/dirstack.c +++ /dev/null @@ -1,78 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -/* - * dirstack.c - * - * Copyright (C) 2019 David Oberhollenzer - */ -#include "common.h" -#include "util/compat.h" - -#include -#include -#include -#include -#include -#include - -#define STACK_DEPTH 128 - -static int dirstack[STACK_DEPTH]; -static int stacktop = 0; - -int pushd(const char *path) -{ - int fd; - - assert(stacktop < STACK_DEPTH); - - fd = open(".", O_DIRECTORY | O_PATH | O_RDONLY | O_CLOEXEC); - - if (fd < 0) { - perror("open ./"); - return -1; - } - - if (chdir(path)) { - perror(path); - close(fd); - return -1; - } - - dirstack[stacktop++] = fd; - return 0; -} - -int pushdn(const char *path, size_t len) -{ - char *temp; - int ret; - - temp = strndup(path, len); - if (temp == NULL) { - perror("pushd"); - return -1; - } - - ret = pushd(temp); - - free(temp); - return ret; -} - -int popd(void) -{ - int fd; - - assert(stacktop > 0); - - fd = dirstack[stacktop - 1]; - - if (fchdir(fd)) { - perror("popd"); - return -1; - } - - --stacktop; - close(fd); - return 0; -} -- cgit v1.2.3