summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/nl_setup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/nl_setup.cpp')
-rw-r--r--src/lib/netlist/nl_setup.cpp21
1 files changed, 6 insertions, 15 deletions
diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp
index 5e7a0e8933c..67a8afe94b9 100644
--- a/src/lib/netlist/nl_setup.cpp
+++ b/src/lib/netlist/nl_setup.cpp
@@ -907,6 +907,11 @@ void setup_t::tt_factory_create(tt_desc &desc, const pstring &sourcefile)
// Sources
// ----------------------------------------------------------------------------------------
+bool setup_t::parse_stream(std::unique_ptr<plib::pistream> istrm, const pstring &name)
+{
+ return parser_t(std::move(plib::ppreprocessor(&m_defines).process(std::move(istrm))), *this).parse(name);
+}
+
void setup_t::include(const pstring &netlist_name)
{
for (auto &source : m_sources)
@@ -932,18 +937,6 @@ std::unique_ptr<plib::pistream> setup_t::get_data_stream(const pstring &name)
return std::unique_ptr<plib::pistream>(nullptr);
}
-
-bool setup_t::parse_stream(plib::putf8_reader &&istrm, const pstring &name)
-{
- plib::pomemstream ostrm;
- plib::putf8_writer owrt(&ostrm);
-
- plib::ppreprocessor(&m_defines).process(istrm, owrt);
- plib::putf8_reader reader2 = plib::putf8_reader(plib::pimemstream(ostrm));
-
- return parser_t(std::move(reader2), *this).parse(name);
-}
-
void setup_t::register_define(const pstring &defstr)
{
auto p = defstr.find("=");
@@ -1080,9 +1073,7 @@ bool source_t::parse(const pstring &name)
return false;
else
{
- auto rstream = stream(name);
- plib::putf8_reader reader(rstream.get());
- return m_setup.parse_stream(std::move(reader), name);
+ return m_setup.parse_stream(stream(name), name);
}
}