diff options
| author | 2020-02-17 22:43:24 +0100 | |
|---|---|---|
| committer | 2020-02-17 22:43:49 +0100 | |
| commit | 92143473341076743ff900a185df3ba8431ecbf0 (patch) | |
| tree | c60f67f4ded9690d6e533fcfd6e14696c1cf7022 /src/lib/netlist/nl_setup.cpp | |
| parent | 3f52d5be2263e757e31abde677494ab1a9876da5 (diff) | |
netlist: fix log file option in nltool. (nw)
Diffstat (limited to 'src/lib/netlist/nl_setup.cpp')
| -rwxr-xr-x[-rw-r--r--] | src/lib/netlist/nl_setup.cpp | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp index 727b37c54c6..9973e6da93d 100644..100755 --- a/src/lib/netlist/nl_setup.cpp +++ b/src/lib/netlist/nl_setup.cpp @@ -893,7 +893,7 @@ void setup_t::resolve_inputs() // after all other terminals were connected. unsigned tries = m_netlist_params->m_max_link_loops(); - while (!m_links.empty() > 0 && tries > 0) + while (!m_links.empty() && tries > 0) { for (auto li = m_links.begin(); li != m_links.end(); ) @@ -967,22 +967,16 @@ void setup_t::resolve_inputs() } -void setup_t::register_dynamic_log_devices() +void setup_t::register_dynamic_log_devices(const std::vector<pstring> &loglist) { - pstring env = plib::util::environment("NL_LOGS", ""); - - if (env != "") + log().debug("Creating dynamic logs ..."); + for (const pstring &ll : loglist) { - log().debug("Creating dynamic logs ..."); - std::vector<pstring> loglist(plib::psplit(env, ":")); - for (const pstring &ll : loglist) - { - pstring name = "log_" + ll; - auto nc = factory().factory_by_name("LOG")->Create(m_nlstate.pool(), m_nlstate, name); - register_link(name + ".I", ll); - log().debug(" dynamic link {1}: <{2}>\n",ll, name); - m_nlstate.register_device(nc->name(), std::move(nc)); - } + pstring name = "log_" + ll; + auto nc = factory().factory_by_name("LOG")->Create(m_nlstate.pool(), m_nlstate, name); + register_link(name + ".I", ll); + log().debug(" dynamic link {1}: <{2}>\n",ll, name); + m_nlstate.register_device(nc->name(), std::move(nc)); } } @@ -1207,7 +1201,14 @@ void setup_t::delete_empty_nets() void setup_t::prepare_to_run() { - register_dynamic_log_devices(); + pstring envlog = plib::util::environment("NL_LOGS", ""); + + if (envlog != "") + { + std::vector<pstring> loglist(plib::psplit(envlog, ":")); + register_dynamic_log_devices(loglist); + } + // make sure the solver and parameters are started first! |
