From e044c640b38e4b5af4643c13e75d0b6a98fde7b7 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 1 Mar 2017 15:53:56 +0000 Subject: [PATCH] Add fs.cpp/h Cherry-picked from: 19e36bbef --- src/Makefile.am | 2 ++ src/fs.cpp | 21 +++++++++++++++++++++ src/fs.h | 24 ++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 src/fs.cpp create mode 100644 src/fs.h diff --git a/src/Makefile.am b/src/Makefile.am index a6496ffe6..9ede7fbab 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -104,6 +104,7 @@ BITCOIN_CORE_H = \ dogecoin.h \ dogecoin-fees.cpp \ dogecoin-fees.h \ + fs.h \ httprpc.h \ httpserver.h \ indirectmap.h \ @@ -352,6 +353,7 @@ libdogecoin_util_a_SOURCES = \ compat/glibc_sanity.cpp \ compat/glibcxx_sanity.cpp \ compat/strnlen.cpp \ + fs.cpp \ random.cpp \ rpc/protocol.cpp \ support/cleanse.cpp \ diff --git a/src/fs.cpp b/src/fs.cpp new file mode 100644 index 000000000..116e7980a --- /dev/null +++ b/src/fs.cpp @@ -0,0 +1,21 @@ +// Copyright (c) 2017 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "fs.h" + +#include + +namespace fsbridge { + +FILE *fopen(const fs::path& p, const char *mode) +{ + return ::fopen(p.string().c_str(), mode); +} + +FILE *freopen(const fs::path& p, const char *mode, FILE *stream) +{ + return ::freopen(p.string().c_str(), mode, stream); +} + +} // fsbridge diff --git a/src/fs.h b/src/fs.h new file mode 100644 index 000000000..abb4be254 --- /dev/null +++ b/src/fs.h @@ -0,0 +1,24 @@ +// Copyright (c) 2017 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef BITCOIN_FS_H +#define BITCOIN_FS_H + +#include +#include + +#include +#include +#include + +/** Filesystem operations and types */ +namespace fs = boost::filesystem; + +/** Bridge operations to C stdio */ +namespace fsbridge { + FILE *fopen(const fs::path& p, const char *mode); + FILE *freopen(const fs::path& p, const char *mode, FILE *stream); +}; + +#endif // BITCOIN_FS_H