diff options
author | 2013-11-24 20:08:04 +0000 | |
---|---|---|
committer | 2013-11-24 20:08:04 +0000 | |
commit | cb6f1d0194b07e3817131d9b589797f7b67a7d59 (patch) | |
tree | 397a12f9c437dbcc549effed69505c7b85804e8a /src/emu/machine | |
parent | 0d0f072d59bdd04ce519c7ec6d61e13ebcf0c6dc (diff) |
Netlist: Added pascal like strings (pstring) class. These use only size(void *) in objects. Uses reference counter to share identical string between various pstrings.
In addition, fixed some bugs and added auto-sizing to netlist_list_t.
There shouldn't be memory holes left now, apart from memory allocated in a static class factory.
Diffstat (limited to 'src/emu/machine')
-rw-r--r-- | src/emu/machine/netlist.c | 6 | ||||
-rw-r--r-- | src/emu/machine/netlist.h | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/emu/machine/netlist.c b/src/emu/machine/netlist.c index 81bee490d21..55fbb9782b5 100644 --- a/src/emu/machine/netlist.c +++ b/src/emu/machine/netlist.c @@ -49,8 +49,6 @@ #include "netlist/nl_setup.h" #include "netlist/devices/net_lib.h" -const netlist_time netlist_time::zero = netlist_time::from_raw(0); - // ---------------------------------------------------------------------------------------- // netlist_mame_device // ---------------------------------------------------------------------------------------- @@ -91,8 +89,8 @@ void netlist_mame_device::device_start() m_setup->start_devices(); bool allok = true; - for (on_device_start **ods = m_device_start_list.first(); ods <= m_device_start_list.last(); ods++) - allok &= (*ods)->OnDeviceStart(); + for (device_start_list_t::entry_t *ods = m_device_start_list.first(); ods != NULL; ods = m_device_start_list.next(ods)) + allok &= ods->object()->OnDeviceStart(); if (!allok) fatalerror("required elements not found\n"); diff --git a/src/emu/machine/netlist.h b/src/emu/machine/netlist.h index b3704b0d0d9..d79b0c4f783 100644 --- a/src/emu/machine/netlist.h +++ b/src/emu/machine/netlist.h @@ -118,7 +118,9 @@ public: netlist_setup_t &setup() { return *m_setup; } netlist_t &netlist() { return *m_netlist; } - netlist_list_t<on_device_start *> m_device_start_list; + typedef netlist_list_t<on_device_start *> device_start_list_t; + + device_start_list_t m_device_start_list; protected: // device-level overrides |