Browse Source

OUTPUTFORMATTER::Quoted() was not wrapping strings containing internal quotes with quotes

pull/1/head
Dick Hollenbeck 15 years ago
parent
commit
e0f4963b6a
  1. 2
      common/richio.cpp
  2. 9
      eeschema/template_fieldnames.cpp

2
common/richio.cpp

@ -311,7 +311,7 @@ std::string OUTPUTFORMATTER::Quoted( const std::string& aWrapee ) throw( IO_ERRO
} }
} }
if( *squote )
if( *squote || strchr( wrapee.c_str(), quote ) )
{ {
// wrap the beginning and end of the string in a quote. // wrap the beginning and end of the string in a quote.
wrapee.insert( wrapee.begin(), quote ); wrapee.insert( wrapee.begin(), quote );

9
eeschema/template_fieldnames.cpp

@ -17,7 +17,7 @@ wxString TEMPLATE_FIELDNAME::GetDefaultFieldName( int aFieldNdx )
_( "Datasheet" ), // Link to a datasheet for component _( "Datasheet" ), // Link to a datasheet for component
}; };
if ( (unsigned) aFieldNdx < DIM(fixedNames) )
if( (unsigned) aFieldNdx < DIM(fixedNames) )
return fixedNames[aFieldNdx]; return fixedNames[aFieldNdx];
else else
@ -32,11 +32,12 @@ wxString TEMPLATE_FIELDNAME::GetDefaultFieldName( int aFieldNdx )
void TEMPLATE_FIELDNAME::Format( OUTPUTFORMATTER* out, int nestLevel ) const throw( IO_ERROR ) void TEMPLATE_FIELDNAME::Format( OUTPUTFORMATTER* out, int nestLevel ) const throw( IO_ERROR )
{ {
// user may want spaces in his field name, ug, so quote them for the parser.
out->Print( nestLevel, "(field (name \"%s\")", CONV_TO_UTF8(m_Name) );
out->Print( nestLevel, "(field (name %s)",
out->Quoted( CONV_TO_UTF8(m_Name) ).c_str() );
if( !m_Value.IsEmpty() ) if( !m_Value.IsEmpty() )
out->Print( 0, "(value \"%s\")", CONV_TO_UTF8(m_Value) );
out->Print( 0, "(value %s)",
out->Quoted( CONV_TO_UTF8(m_Value) ).c_str() );
if( m_Visible ) if( m_Visible )
out->Print( 0, " visible" ); out->Print( 0, " visible" );

Loading…
Cancel
Save