summaryrefslogtreecommitdiff
path: root/lib/common
diff options
context:
space:
mode:
Diffstat (limited to 'lib/common')
-rw-r--r--lib/common/Makemodule.am3
-rw-r--r--lib/common/dirstack.c78
2 files changed, 1 insertions, 80 deletions
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 <goliath@infraroot.at>
- */
-#include "common.h"
-#include "util/compat.h"
-
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <assert.h>
-#include <fcntl.h>
-#include <stdio.h>
-
-#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;
-}