summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvisvgm/dvisvgm-src/src/Directory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvisvgm/dvisvgm-src/src/Directory.cpp')
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/Directory.cpp116
1 files changed, 0 insertions, 116 deletions
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Directory.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/Directory.cpp
deleted file mode 100644
index 224165e2556..00000000000
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Directory.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/*************************************************************************
-** Directory.cpp **
-** **
-** This file is part of dvisvgm -- a fast DVI to SVG converter **
-** Copyright (C) 2005-2021 Martin Gieseking <martin.gieseking@uos.de> **
-** **
-** 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 the Free Software Foundation; either version 3 of **
-** the License, or (at your option) any later version. **
-** **
-** This program 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 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/>. **
-*************************************************************************/
-
-#include "Directory.hpp"
-
-using namespace std;
-
-#ifndef _WIN32
- #include <cerrno>
- #include <sys/stat.h>
-#endif
-
-
-Directory::Directory () {
-#ifdef _WIN32
- memset(&_fileData, 0, sizeof(WIN32_FIND_DATA));
-#endif
-}
-
-
-Directory::Directory (const string &dirname) : Directory() {
- open(dirname);
-}
-
-
-Directory::~Directory () {
- close();
-}
-
-
-bool Directory::open (string dirname) {
- _dirname = dirname;
-#ifdef _WIN32
- _firstread = true;
- if (dirname[dirname.length()-1] == '/' || dirname[dirname.length()-1] == '\\')
- dirname = dirname.substr(0, dirname.length()-1);
- dirname += "\\*";
- _handle = FindFirstFile(dirname.c_str(), &_fileData);
- return _handle != INVALID_HANDLE_VALUE;
-#else
- _dir = opendir(_dirname.c_str());
- return bool(_dir);
-#endif
-}
-
-
-void Directory::close () {
-#ifdef _WIN32
- FindClose(_handle);
-#else
- if (_dir) {
- closedir(_dir);
- _dir = nullptr;
- }
-#endif
-}
-
-
-/** Reads first/next directory entry.
- * @param[in] type type of entry to return (a: file or dir, f: file, d: dir)
- * @return name of entry */
-const char* Directory::read (EntryType type) {
-#ifdef _WIN32
- if (_handle == INVALID_HANDLE_VALUE)
- return nullptr;
- while (_firstread || FindNextFile(_handle, &_fileData)) {
- _firstread = false;
- if (_fileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
- if (type == ET_FILE_OR_DIR || type == ET_DIR)
- return _fileData.cFileName;
- }
- else if (type == ET_FILE_OR_DIR || type == ET_FILE)
- return _fileData.cFileName;
- }
- FindClose(_handle);
- _handle = INVALID_HANDLE_VALUE;
- return nullptr;
-#else
- if (_dir) {
- while ((_dirent = readdir(_dir))) {
- string path = _dirname + "/" + _dirent->d_name;
- struct stat stats;
- if (stat(path.c_str(), &stats) == 0) {
- if (S_ISDIR(stats.st_mode)) {
- if (type == ET_FILE_OR_DIR || type == ET_DIR)
- return _dirent->d_name;
- }
- else if (type == ET_FILE_OR_DIR || type == ET_FILE)
- return _dirent->d_name;
- }
- }
- closedir(_dir);
- _dir = nullptr;
- }
- return nullptr;
-#endif
-}
-
-