Add fs.cpp/h

This commit is contained in:
Wladimir J. van der Laan 2017-03-01 15:53:56 +00:00
parent a2cd0b0eec
commit 19e36bbef6
3 changed files with 43 additions and 0 deletions

View File

@ -98,6 +98,7 @@ BITCOIN_CORE_H = \
core_io.h \
core_memusage.h \
cuckoocache.h \
fs.h \
httprpc.h \
httpserver.h \
indirectmap.h \
@ -326,6 +327,7 @@ libbitcoin_util_a_SOURCES = \
compat/glibc_sanity.cpp \
compat/glibcxx_sanity.cpp \
compat/strnlen.cpp \
fs.cpp \
random.cpp \
rpc/protocol.cpp \
support/cleanse.cpp \

17
src/fs.cpp Normal file
View File

@ -0,0 +1,17 @@
#include "fs.h"
#include <boost/filesystem.hpp>
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

24
src/fs.h Normal file
View File

@ -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 <stdio.h>
#include <string>
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/detail/utf8_codecvt_facet.hpp>
/** 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