mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-28 19:25:00 +00:00
Reverting r227452, which adds back the fuzzer library. Now excluding the fuzzer library based on LLVM_USE_SANITIZE_COVERAGE being set or unset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227464 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
49
lib/Fuzzer/FuzzerIO.cpp
Normal file
49
lib/Fuzzer/FuzzerIO.cpp
Normal file
@@ -0,0 +1,49 @@
|
||||
//===- FuzzerIO.cpp - IO utils. -------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
// IO functions.
|
||||
//===----------------------------------------------------------------------===//
|
||||
#include "FuzzerInternal.h"
|
||||
#include <fstream>
|
||||
#include <dirent.h>
|
||||
namespace fuzzer {
|
||||
|
||||
static std::vector<std::string> ListFilesInDir(const std::string &Dir) {
|
||||
std::vector<std::string> V;
|
||||
DIR *D = opendir(Dir.c_str());
|
||||
if (!D) return V;
|
||||
while (auto E = readdir(D)) {
|
||||
if (E->d_type == DT_REG || E->d_type == DT_LNK)
|
||||
V.push_back(E->d_name);
|
||||
}
|
||||
closedir(D);
|
||||
return V;
|
||||
}
|
||||
|
||||
Unit FileToVector(const std::string &Path) {
|
||||
std::ifstream T(Path);
|
||||
return Unit((std::istreambuf_iterator<char>(T)),
|
||||
std::istreambuf_iterator<char>());
|
||||
}
|
||||
|
||||
void WriteToFile(const Unit &U, const std::string &Path) {
|
||||
std::ofstream OF(Path);
|
||||
OF.write((const char*)U.data(), U.size());
|
||||
}
|
||||
|
||||
void ReadDirToVectorOfUnits(const char *Path, std::vector<Unit> *V) {
|
||||
for (auto &X : ListFilesInDir(Path))
|
||||
V->push_back(FileToVector(DirPlusFile(Path, X)));
|
||||
}
|
||||
|
||||
std::string DirPlusFile(const std::string &DirPath,
|
||||
const std::string &FileName) {
|
||||
return DirPath + "/" + FileName;
|
||||
}
|
||||
|
||||
} // namespace fuzzer
|
Reference in New Issue
Block a user