diff options
-rw-r--r-- | src/emu/machine/netlist.c | 8 | ||||
-rw-r--r-- | src/emu/machine/netlist.h | 6 | ||||
-rw-r--r-- | src/emu/netlist/devices/nld_log.c | 6 | ||||
-rw-r--r-- | src/emu/netlist/devices/nld_system.c | 2 | ||||
-rw-r--r-- | src/emu/netlist/devices/nld_truthtable.c | 8 | ||||
-rw-r--r-- | src/emu/netlist/nl_base.h | 6 | ||||
-rw-r--r-- | src/emu/netlist/nl_factory.h | 4 | ||||
-rw-r--r-- | src/emu/netlist/nl_parser.c | 4 | ||||
-rw-r--r-- | src/emu/netlist/nl_setup.c | 25 | ||||
-rw-r--r-- | src/emu/netlist/plib/pparser.c | 4 | ||||
-rw-r--r-- | src/emu/netlist/plib/pstring.c | 38 | ||||
-rw-r--r-- | src/emu/netlist/plib/pstring.h | 45 | ||||
-rw-r--r-- | src/emu/netlist/solver/nld_ms_direct.h | 2 | ||||
-rw-r--r-- | src/emu/netlist/solver/nld_solver.c | 4 | ||||
-rw-r--r-- | src/emu/netlist/tools/nl_convert.c | 34 | ||||
-rw-r--r-- | src/tools/nltool.c | 9 |
16 files changed, 144 insertions, 61 deletions
diff --git a/src/emu/machine/netlist.c b/src/emu/machine/netlist.c index bccb11bb4f0..79d3b4e6943 100644 --- a/src/emu/machine/netlist.c +++ b/src/emu/machine/netlist.c @@ -175,11 +175,11 @@ void netlist_mame_stream_input_t::custom_netlist_additions(netlist::setup_t &set if (snd_in == NULL) snd_in = dynamic_cast<NETLIB_NAME(sound_in) *>(setup.register_dev("NETDEV_SOUND_IN", "STREAM_INPUT")); - pstring sparam = pstring::sprintf("STREAM_INPUT.CHAN%d", m_channel); + pstring sparam = pformat("STREAM_INPUT.CHAN%1")(m_channel); setup.register_param(sparam, m_param_name); - sparam = pstring::sprintf("STREAM_INPUT.MULT%d", m_channel); + sparam = pformat("STREAM_INPUT.MULT%1")(m_channel); setup.register_param(sparam, m_mult); - sparam = pstring::sprintf("STREAM_INPUT.OFFSET%d", m_channel); + sparam = pformat("STREAM_INPUT.OFFSET%1")(m_channel); setup.register_param(sparam, m_offset); } @@ -210,7 +210,7 @@ void netlist_mame_stream_output_t::device_start() void netlist_mame_stream_output_t::custom_netlist_additions(netlist::setup_t &setup) { //NETLIB_NAME(sound_out) *snd_out; - pstring sname = pstring::sprintf("STREAM_OUT_%d", m_channel); + pstring sname = pformat("STREAM_OUT_%1")(m_channel); //snd_out = dynamic_cast<NETLIB_NAME(sound_out) *>(setup.register_dev("nld_sound_out", sname)); setup.register_dev("NETDEV_SOUND_OUT", sname); diff --git a/src/emu/machine/netlist.h b/src/emu/machine/netlist.h index 423919badec..73ad52b0ddd 100644 --- a/src/emu/machine/netlist.h +++ b/src/emu/machine/netlist.h @@ -648,9 +648,9 @@ public: for (int i = 0; i < MAX_INPUT_CHANNELS; i++) { - register_param(pstring::sprintf("CHAN%d", i), m_param_name[i], ""); - register_param(pstring::sprintf("MULT%d", i), m_param_mult[i], 1.0); - register_param(pstring::sprintf("OFFSET%d", i), m_param_offset[i], 0.0); + register_param(pformat("CHAN%1")(i), m_param_name[i], ""); + register_param(pformat("MULT%1")(i), m_param_mult[i], 1.0); + register_param(pformat("OFFSET%1")(i), m_param_offset[i], 0.0); } m_num_channel = 0; } diff --git a/src/emu/netlist/devices/nld_log.c b/src/emu/netlist/devices/nld_log.c index c8d734a4d6c..ac8a3fdbbc6 100644 --- a/src/emu/netlist/devices/nld_log.c +++ b/src/emu/netlist/devices/nld_log.c @@ -16,7 +16,7 @@ NETLIB_START(log) { register_input("I", m_I); - pstring filename = pstring::sprintf("%s.log", name().cstr()); + pstring filename = pformat("%1.log")(name()); m_strm = palloc(pofilestream(filename)); } @@ -26,7 +26,9 @@ NETLIB_RESET(log) NETLIB_UPDATE(log) { - m_strm->writeline(pstring::sprintf("%20.9e %e", netlist().time().as_double(), (nl_double) INPANALOG(m_I)).cstr()); + /* use pstring::sprintf, it is a LOT faster */ +// m_strm->writeline(pstring::sprintf("%20.9e %e", netlist().time().as_double(), (nl_double) INPANALOG(m_I)).cstr()); + m_strm->writeline(pformat("%1 %2").e(netlist().time().as_double(),".9").e((nl_double) INPANALOG(m_I)).cstr()); } NETLIB_NAME(log)::~NETLIB_NAME(log)() diff --git a/src/emu/netlist/devices/nld_system.c b/src/emu/netlist/devices/nld_system.c index a0c21ee6a2a..565b1c81dd1 100644 --- a/src/emu/netlist/devices/nld_system.c +++ b/src/emu/netlist/devices/nld_system.c @@ -299,7 +299,7 @@ NETLIB_START(function) register_output("Q", m_Q); for (int i=0; i < m_N; i++) - register_input(pstring::sprintf("A%d", i), m_I[i]); + register_input(pformat("A%1")(i), m_I[i]); pstring_list_t cmds(m_func.Value(), " "); m_precompiled.clear(); diff --git a/src/emu/netlist/devices/nld_truthtable.c b/src/emu/netlist/devices/nld_truthtable.c index a93435a6af0..1f6a9a19117 100644 --- a/src/emu/netlist/devices/nld_truthtable.c +++ b/src/emu/netlist/devices/nld_truthtable.c @@ -135,8 +135,8 @@ void truthtable_desc_t::help(unsigned cur, pstring_list_t list, { // cutoff previous inputs and outputs for ignore if (m_outs[nstate] != ~0U && m_outs[nstate] != val) - fatalerror_e(pstring::sprintf("Error in truthtable: State %04x already set, %d != %d\n", - (UINT32) nstate, m_outs[nstate], val)); + fatalerror_e(pformat("Error in truthtable: State %1 already set, %2 != %3\n") + .x(nstate,"04")(m_outs[nstate])(val) ); m_outs[nstate] = val; for (unsigned j=0; j<m_NO; j++) m_timing[nstate * m_NO + j] = timing_index[j]; @@ -231,7 +231,7 @@ void truthtable_desc_t::setup(const pstring_list_t &truthtable, UINT32 disabled_ for (UINT32 i=0; i<m_size; i++) { if (m_outs[i] == ~0U) - throw fatalerror_e(pstring::sprintf("truthtable: found element not set %04x\n", i)); + throw fatalerror_e(pformat("truthtable: found element not set %1\n").x(i) ); m_outs[i] |= ((ign[i] & ~disabled_ignore) << m_NO); } *m_initialized = true; @@ -264,7 +264,7 @@ netlist_base_factory_truthtable_t *nl_tt_factory_create(const unsigned ni, const ENTRY(9); ENTRY(10); default: - pstring msg = pstring::sprintf("unable to create truthtable<%d,%d,%d>", ni, no, has_state); + pstring msg = pformat("unable to create truthtable<%1,%2,%3>")(ni)(no)(has_state); nl_assert_always(false, msg.cstr()); } return NULL; diff --git a/src/emu/netlist/nl_base.h b/src/emu/netlist/nl_base.h index 58f14bd03e0..bfaaee9b44f 100644 --- a/src/emu/netlist/nl_base.h +++ b/src/emu/netlist/nl_base.h @@ -252,11 +252,11 @@ virtual logic_family_desc_t *default_logic_family() //============================================================ #if defined(MAME_DEBUG) -#define nl_assert(x) do { if (!(x)) throw fatalerror_e("assert: %s:%d: %s", __FILE__, __LINE__, #x); } while (0) +#define nl_assert(x) do { if (1) if (!(x)) throw fatalerror_e(pformat("assert: %1:%2: %3")(__FILE__)(__LINE__)(#x) ); } while (0) #else -#define nl_assert(x) do { if (0) if (!(x)) throw fatalerror_e(pstring::sprintf("assert: %s:%d: %s", __FILE__, __LINE__, #x)); } while (0) +#define nl_assert(x) do { if (0) if (!(x)) throw fatalerror_e(pformat("assert: %1:%2: %3")(__FILE__)(__LINE__)(#x) ); } while (0) #endif -#define nl_assert_always(x, msg) do { if (!(x)) throw fatalerror_e(pstring::sprintf("Fatal error: %s\nCaused by assert: %s:%d: %s", msg, __FILE__, __LINE__, #x)); } while (0) +#define nl_assert_always(x, msg) do { if (!(x)) throw fatalerror_e(pformat("Fatal error: %1\nCaused by assert: %2:%3: %4")(msg)(__FILE__)(__LINE__)(#x)); } while (0) // ----------------------------------------------------------------------------- diff --git a/src/emu/netlist/nl_factory.h b/src/emu/netlist/nl_factory.h index 7df0385fbff..b758941dd71 100644 --- a/src/emu/netlist/nl_factory.h +++ b/src/emu/netlist/nl_factory.h @@ -73,13 +73,13 @@ namespace netlist const pstring &def_param) { if (!add(name, palloc(factory_t< _C >(name, classname, def_param)))) - error(pstring::sprintf("factory already contains %s", name.cstr())); + error("factory already contains " + name); } ATTR_COLD void register_device(base_factory_t *factory) { if (!add(factory->name(), factory)) - error(pstring::sprintf("factory already contains %s", factory->name().cstr())); + error("factory already contains " + factory->name()); } //ATTR_COLD device_t *new_device_by_classname(const pstring &classname) const; diff --git a/src/emu/netlist/nl_parser.c b/src/emu/netlist/nl_parser.c index 2bd7e1d43b5..2872648aa52 100644 --- a/src/emu/netlist/nl_parser.c +++ b/src/emu/netlist/nl_parser.c @@ -324,8 +324,8 @@ void parser_t::dippins() unsigned n = pins.size(); for (unsigned i = 0; i < n / 2; i++) { - m_setup.register_alias(pstring::sprintf("%d", i+1), pins[i*2]); - m_setup.register_alias(pstring::sprintf("%d", n-i), pins[i*2 + 1]); + m_setup.register_alias(pformat("%1")(i+1), pins[i*2]); + m_setup.register_alias(pformat("%1")(n-i), pins[i*2 + 1]); } } diff --git a/src/emu/netlist/nl_setup.c b/src/emu/netlist/nl_setup.c index 228a54c090f..0c56b27a455 100644 --- a/src/emu/netlist/nl_setup.c +++ b/src/emu/netlist/nl_setup.c @@ -170,8 +170,8 @@ void setup_t::register_dippins_arr(const pstring &terms) unsigned n = list.size(); for (unsigned i = 0; i < n / 2; i++) { - register_alias(pstring::sprintf("%d", i+1), list[i * 2]); - register_alias(pstring::sprintf("%d", n-i), list[i * 2 + 1]); + register_alias(pformat("%1")(i+1), list[i * 2]); + register_alias(pformat("%1")(n-i), list[i * 2 + 1]); } } @@ -332,7 +332,7 @@ void setup_t::remove_connections(const pstring pin) void setup_t::register_frontier(const pstring attach, const double r_IN, const double r_OUT) { static int frontier_cnt = 0; - pstring frontier_name = pstring::sprintf("frontier_%d", frontier_cnt); + pstring frontier_name = pformat("frontier_%1")(frontier_cnt); frontier_cnt++; device_t *front = register_dev("FRONTIER_DEV", frontier_name); register_param(frontier_name + ".RIN", r_IN); @@ -362,7 +362,7 @@ void setup_t::register_frontier(const pstring attach, const double r_IN, const d void setup_t::register_param(const pstring ¶m, const double value) { // FIXME: there should be a better way - register_param(param, pstring::sprintf("%.9e", value)); + register_param(param, pformat("%1").e(value,".9")); } void setup_t::register_param(const pstring ¶m, const pstring &value) @@ -478,7 +478,7 @@ devices::nld_base_proxy *setup_t::get_d_a_proxy(core_terminal_t &out) { // create a new one ... devices::nld_base_d_to_a_proxy *new_proxy = out_cast.logic_family()->create_d_a_proxy(&out_cast); - pstring x = pstring::sprintf("proxy_da_%s_%d", out.name().cstr(), m_proxy_cnt); + pstring x = pformat("proxy_da_%1_%2")(out.name())(m_proxy_cnt); m_proxy_cnt++; register_dev(new_proxy, x); @@ -510,7 +510,7 @@ void setup_t::connect_input_output(core_terminal_t &in, core_terminal_t &out) logic_input_t &incast = dynamic_cast<logic_input_t &>(in); devices::nld_a_to_d_proxy *proxy = palloc(devices::nld_a_to_d_proxy(&incast)); incast.set_proxy(proxy); - pstring x = pstring::sprintf("proxy_ad_%s_%d", in.name().cstr(), m_proxy_cnt); + pstring x = pformat("proxy_ad_%1_%2")(in.name())( m_proxy_cnt); m_proxy_cnt++; register_dev(proxy, x); @@ -549,7 +549,7 @@ void setup_t::connect_terminal_input(terminal_t &term, core_terminal_t &inp) NL_VERBOSE_OUT(("connect_terminal_input: connecting proxy\n")); devices::nld_a_to_d_proxy *proxy = palloc(devices::nld_a_to_d_proxy(&incast)); incast.set_proxy(proxy); - pstring x = pstring::sprintf("proxy_ad_%s_%d", inp.name().cstr(), m_proxy_cnt); + pstring x = pformat("proxy_ad_%1_%2")(inp.name())(m_proxy_cnt); m_proxy_cnt++; register_dev(proxy, x); @@ -799,8 +799,7 @@ void setup_t::resolve_inputs() { core_terminal_t *term = m_terminals.value_at(i); if (!term->has_net()) - errstr += pstring::sprintf("Found terminal %s without a net\n", - term->name().cstr()); + errstr += pformat("Found terminal %1 without a net\n")(term->name()); else if (term->net().num_cons() == 0) netlist().warning("Found terminal %s without connections", term->name().cstr()); @@ -985,8 +984,8 @@ nl_double setup_t::model_value(model_map_t &map, const pstring &entity) pstring tmp = model_value_str(map, entity); nl_double factor = NL_FCONST(1.0); - char numfac = *(tmp.right(1).cstr()); - switch (numfac) + pstring numfac = tmp.right(1); + switch (numfac.code_at(0)) { case 'M': factor = 1e6; break; case 'k': factor = 1e3; break; @@ -997,8 +996,8 @@ nl_double setup_t::model_value(model_map_t &map, const pstring &entity) case 'f': factor = 1e-15; break; case 'a': factor = 1e-18; break; default: - if (numfac < '0' || numfac > '9') - fatalerror_e(pstring::sprintf("Unknown number factor <%c> in: %s", numfac, entity.cstr())); + if (numfac < "0" || numfac > "9") + fatalerror_e(pformat("Unknown number factor <%1> in: %2")(numfac)(entity)); } if (factor != NL_FCONST(1.0)) tmp = tmp.left(tmp.len() - 1); diff --git a/src/emu/netlist/plib/pparser.c b/src/emu/netlist/plib/pparser.c index 8473d58fc2a..6355894bd56 100644 --- a/src/emu/netlist/plib/pparser.c +++ b/src/emu/netlist/plib/pparser.c @@ -455,12 +455,12 @@ pstring ppreprocessor::process_line(const pstring &line) if (m_ifflag == 0) { if (lti.size() != 3) - error(pstring::sprintf("PREPRO: only simple defines allowed: %s", line.cstr())); + error("PREPRO: only simple defines allowed: %s" + line); m_defines.add(lti[1], define_t(lti[1], lti[2])); } } else - error(pstring::sprintf("unknown directive on line %d: %s\n", m_lineno, line.cstr())); + error(pformat("unknown directive on line %1: %2\n")(m_lineno)(line)); } else { diff --git a/src/emu/netlist/plib/pstring.c b/src/emu/netlist/plib/pstring.c index 8ff8ae8c9a7..d335c2766a4 100644 --- a/src/emu/netlist/plib/pstring.c +++ b/src/emu/netlist/plib/pstring.c @@ -226,6 +226,7 @@ pstring_t<F> pstring_t<F>::replace(const pstring_t &search, const pstring_t &rep i++; } } + ret = ret.cat(cstr() + i); return ret; } @@ -512,6 +513,43 @@ void pstringbuffer::pcat(const pstring &s) m_ptr[m_len] = 0; } +pformat::pformat(const pstring &fmt) +: m_arg(0) +{ + memcpy(m_str, fmt.cstr(), fmt.blen() + 1); +} + +pformat::pformat(const char *fmt) +: m_arg(0) +{ + strncpy(m_str, fmt, sizeof(m_str)); + m_str[sizeof(m_str)] = 0; +} + +pformat &pformat::update(const char *f, const char *l, ...) +{ + va_list ap; + va_start(ap, l); + char fmt[30] = "%"; + char search[10] = ""; + char buf[1024]; + strcat(fmt, f); + strcat(fmt, l); + int nl = vsprintf(buf, fmt, ap); + m_arg++; + int sl = sprintf(search, "%%%d", m_arg); + char *p = strstr(m_str, search); + if (p != NULL) + { + // Make room + memmove(p+nl, p+sl, strlen(p) + 1 - sl); + memcpy(p, buf, nl); + } + va_end(ap); + return *this; +} + + template struct pstring_t<pu8_traits>; template struct pstring_t<putf8_traits>; diff --git a/src/emu/netlist/plib/pstring.h b/src/emu/netlist/plib/pstring.h index 013593e4f55..f6778a3f974 100644 --- a/src/emu/netlist/plib/pstring.h +++ b/src/emu/netlist/plib/pstring.h @@ -381,5 +381,50 @@ private: }; +class pformat +{ +public: + pformat(const pstring &fmt); + pformat(const char *fmt); + + operator pstring() const { return m_str; } + + const char *cstr() { return m_str; } + + pformat &operator ()(const INT64 x, const char *f = "") { return update(f, I64FMT "d", x); } + pformat &operator ()(const UINT64 x, const char *f = "") { return update(f, I64FMT "u", x); } + + pformat &x (const INT64 x, const char *f = "") { return update(f, I64FMT "x", x); } + pformat &x (const UINT64 x, const char *f = "") { return update(f, I64FMT "x", x); } + + pformat &operator ()(const INT32 x, const char *f = "") { return update(f, "d", x); } + pformat &operator ()(const UINT32 x, const char *f = "") { return update(f, "u", x); } + + pformat &x (const INT32 x, const char *f = "") { return update(f, "x", x); } + pformat &x (const UINT32 x, const char *f = "") { return update(f, "x", x); } + + pformat &operator ()(const INT16 x, const char *f = "") { return update(f, "hd", x); } + pformat &operator ()(const UINT16 x, const char *f = "") { return update(f, "hu", x); } + + pformat &operator ()(const std::size_t x, const char *f = "") { return update(f, SIZETFMT, x); } + + pformat &operator ()(const double x, const char *f = "") { return update(f, "f", x); } + pformat & e(const double x, const char *f = "") { return update(f, "e", x); } + pformat & g(const double x, const char *f = "") { return update(f, "g", x); } + + pformat &operator ()(const char *x, const char *f = "") { return update(f, "s", x); } + pformat &operator ()(const void *x, const char *f = "") { return update(f, "p", x); } + pformat &operator ()(const pstring &x, const char *f = "") { return update(f, "s", x.cstr() ); } + +private: + + pformat &update(const char *f, const char *l, ...); + + char m_str[2048]; + unsigned m_arg; +}; +//const type_t vprintf(va_list args) const; +//static const type_t sprintf(const char *format, ...) ATTR_PRINTF(1,2); + #endif /* _PSTRING_H_ */ diff --git a/src/emu/netlist/solver/nld_ms_direct.h b/src/emu/netlist/solver/nld_ms_direct.h index 4a304a54dde..5263c3e5f9c 100644 --- a/src/emu/netlist/solver/nld_ms_direct.h +++ b/src/emu/netlist/solver/nld_ms_direct.h @@ -277,7 +277,7 @@ ATTR_COLD void matrix_solver_direct_t<m_N, _storage_N>::vsetup(analog_net_t::lis for (unsigned k = 0; k < N(); k++) { - pstring num = pstring::sprintf("%d", k); + pstring num = pformat("%1")(k); save(m_terms[k]->go(),"GO" + num, m_terms[k]->count()); save(m_terms[k]->gt(),"GT" + num, m_terms[k]->count()); diff --git a/src/emu/netlist/solver/nld_solver.c b/src/emu/netlist/solver/nld_solver.c index 47413820d19..631ec438458 100644 --- a/src/emu/netlist/solver/nld_solver.c +++ b/src/emu/netlist/solver/nld_solver.c @@ -170,7 +170,7 @@ ATTR_COLD void matrix_solver_t::setup(analog_net_t::list_t &nets) if (net_proxy_output == NULL) { net_proxy_output = palloc(analog_output_t); - net_proxy_output->init_object(*this, this->name() + "." + pstring::sprintf("m%" SIZETFMT, SIZET_PRINTF(m_inps.size()))); + net_proxy_output->init_object(*this, this->name() + "." + pformat("m%1")(m_inps.size())); m_inps.add(net_proxy_output); net_proxy_output->m_proxied_net = &p->net().as_analog(); } @@ -584,7 +584,7 @@ ATTR_COLD void NETLIB_NAME(solver)::post_start() break; } - register_sub(pstring::sprintf("Solver_%" SIZETFMT,SIZET_PRINTF(m_mat_solvers.size())), *ms); + register_sub(pformat("Solver_%1")(m_mat_solvers.size()), *ms); ms->vsetup(groups[i]); diff --git a/src/emu/netlist/tools/nl_convert.c b/src/emu/netlist/tools/nl_convert.c index 265e20c1c93..15a6ab65136 100644 --- a/src/emu/netlist/tools/nl_convert.c +++ b/src/emu/netlist/tools/nl_convert.c @@ -149,7 +149,7 @@ const pstring nl_convert_base_t::get_nl_val(const double val) break; i++; } - return pstring::sprintf(m_units[i].m_func.cstr(), val / m_units[i].m_mult); + return pformat(m_units[i].m_func.cstr()).g(val / m_units[i].m_mult); } } double nl_convert_base_t::get_sp_unit(const pstring &unit) @@ -181,21 +181,21 @@ double nl_convert_base_t::get_sp_val(const pstring &sin) nl_convert_base_t::unit_t nl_convert_base_t::m_units[] = { {"T", "", 1.0e12 }, {"G", "", 1.0e9 }, - {"MEG", "RES_M(%g)", 1.0e6 }, - {"k", "RES_K(%g)", 1.0e3 }, /* eagle */ - {"K", "RES_K(%g)", 1.0e3 }, - {"", "%g", 1.0e0 }, - {"M", "CAP_M(%g)", 1.0e-3 }, - {"u", "CAP_U(%g)", 1.0e-6 }, /* eagle */ - {"U", "CAP_U(%g)", 1.0e-6 }, - {"??", "CAP_U(%g)", 1.0e-6 }, - {"N", "CAP_N(%g)", 1.0e-9 }, - {"P", "CAP_P(%g)", 1.0e-12}, - {"F", "%ge-15", 1.0e-15}, - - {"MIL", "%e", 25.4e-6}, - - {"-", "%g", 1.0 } + {"MEG", "RES_M(%1)", 1.0e6 }, + {"k", "RES_K(%1)", 1.0e3 }, /* eagle */ + {"K", "RES_K(%1)", 1.0e3 }, + {"", "%1", 1.0e0 }, + {"M", "CAP_M(%1)", 1.0e-3 }, + {"u", "CAP_U(%1)", 1.0e-6 }, /* eagle */ + {"U", "CAP_U(%1)", 1.0e-6 }, + {"??", "CAP_U(%1)", 1.0e-6 }, + {"N", "CAP_N(%1)", 1.0e-9 }, + {"P", "CAP_P(%1)", 1.0e-12}, + {"F", "%1e-15", 1.0e-15}, + + {"MIL", "%1", 25.4e-6}, + + {"-", "%1", 1.0 } }; @@ -345,7 +345,7 @@ void nl_convert_spice_t::process_line(const pstring &line) add_device(tname, xname); for (std::size_t i=1; i < tt.size() - 1; i++) { - pstring term = pstring::sprintf("%s.%" SIZETFMT, xname.cstr(), SIZET_PRINTF(i)); + pstring term = pformat("%1.%2")(xname)(i); add_term(tt[i], term); } break; diff --git a/src/tools/nltool.c b/src/tools/nltool.c index 0d34eb9d1ae..fa93770a66d 100644 --- a/src/tools/nltool.c +++ b/src/tools/nltool.c @@ -277,7 +277,7 @@ struct input_t double t; int e = line.scanf("%lf,%[^,],%lf", &t, buf, &m_value); if ( e!= 3) - throw netlist::fatalerror_e(pstring::sprintf("error %d scanning line %s\n", e, line.cstr())); + throw netlist::fatalerror_e(pformat("error %1 scanning line %2\n")(e)(line)); m_time = netlist::netlist_time::from_double(t); m_param = netlist->setup().find_param(buf, true); } @@ -288,7 +288,7 @@ struct input_t { case netlist::param_t::MODEL: case netlist::param_t::STRING: - throw netlist::fatalerror_e(pstring::sprintf("param %s is not numeric\n", m_param->name().cstr())); + throw netlist::fatalerror_e(pformat("param %1 is not numeric\n")(m_param->name())); case netlist::param_t::DOUBLE: static_cast<netlist::param_double_t*>(m_param)->setTo(m_value); break; @@ -380,12 +380,11 @@ static void listdevices() for (int i=0; i < list.size(); i++) { netlist::base_factory_t *f = list.value_at(i); - pstring out = pstring::sprintf("%-20s %s(<id>", f->classname().cstr(), - f->name().cstr() ); + pstring out = pformat("%1 %2(<id>")(f->classname(),"-20")(f->name()); pstring terms(""); netlist::device_t *d = f->Create(); - d->init(nt, pstring::sprintf("dummy%d", i)); + d->init(nt, pformat("dummy%1")(i)); d->start_dev(); // get the list of terminals ... |