From bc67d1ad8cde85fd0d88b95b7b5c259614d08bb4 Mon Sep 17 00:00:00 2001 From: Maciej Suminski Date: Fri, 27 Apr 2018 14:16:55 +0200 Subject: [PATCH] Spice simulator: prefix reference with device type only when necesary Fixes: lp:1767271 * https://bugs.launchpad.net/kicad/+bug/1767271 Fixes: lp:1700853 * https://bugs.launchpad.net/kicad/+bug/1700853 --- eeschema/netlist_exporters/netlist_exporter_pspice.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/eeschema/netlist_exporters/netlist_exporter_pspice.cpp b/eeschema/netlist_exporters/netlist_exporter_pspice.cpp index 7081247830..73b611d67d 100644 --- a/eeschema/netlist_exporters/netlist_exporter_pspice.cpp +++ b/eeschema/netlist_exporters/netlist_exporter_pspice.cpp @@ -99,8 +99,12 @@ bool NETLIST_EXPORTER_PSPICE::Format( OUTPUTFORMATTER* aFormatter, unsigned aCtl if( !item.m_enabled ) continue; - // Save the node order - aFormatter->Print( 0, "%c%s ", item.m_primitive, (const char*) item.m_refName.c_str() ); + // Add a character determining the device type if the original reference + // would result in a different device type + if( item.m_primitive != item.m_refName[0] ) + aFormatter->Print( 0, "%c", item.m_primitive ); + + aFormatter->Print( 0, "%s ", (const char*) item.m_refName.c_str() ); size_t pspiceNodes = item.m_pinSequence.empty() ? item.m_pins.size() : item.m_pinSequence.size();