Seems something is going wrong on OSX build - not netlist related.
If I understand the c++ documentation
right, the use of localization is not enabled by default in c++ programs.
c++ programs explicitly have to call setlocale(LC_ALL, "") to enable localization.
In machine.cpp I placed a line which prints the current locale:
m_ui = manager().create_ui(*this);
printf("Locale post %s", std::setlocale(LC_ALL, NULL));
On linux this reports the "C" locale - even if a local locale is set, e.g.
On OSX however, it reports the local locale set by
i.e. "Locale post de_DE.UTF-8".
Consequently calls to vsnprintf (pfmt.cpp) use the local locale - and in this case "," instead of ".".
This means something somewhere is switching the locale on OSX. A grep for setlocale shows that some 3rd party libs are calling it but I don't have the time to further dig into it now.
Linux is behaving correctly here - all based on my understanding of the c++ locale docs I know.
Long term netlist - as a library - must be made immune against locale switches in calling programs. I can fix the exception in netlist. But there is an issue with one of the 3rd party libraries MAME uses in the first place.