Browse Source

Add fs.cpp/h

0.15
Wladimir J. van der Laan 8 years ago
parent
commit
19e36bbef6
  1. 2
      src/Makefile.am
  2. 17
      src/fs.cpp
  3. 24
      src/fs.h

2
src/Makefile.am

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

17
src/fs.cpp

@ -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

@ -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
Loading…
Cancel
Save