Skip to content

Commit

Permalink
Add fs.cpp/h
Browse files Browse the repository at this point in the history
Cherry-picked from: 19e36bb
  • Loading branch information
laanwj authored and patricklodder committed Mar 22, 2024
1 parent 5eaff1e commit 21b8488
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ BITCOIN_CORE_H = \
dogecoin.h \
dogecoin-fees.cpp \
dogecoin-fees.h \
fs.h \
httprpc.h \
httpserver.h \
indirectmap.h \
Expand Down Expand Up @@ -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 \
Expand Down
17 changes: 17 additions & 0 deletions src/fs.cpp
Original file line number Diff line number Diff line change
@@ -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 changes: 24 additions & 0 deletions src/fs.h
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 21b8488

Please sign in to comment.