struct _xmlParserCtxt *xmlcontext;
int well_formed = 0;
char *filename = NULL;
- int info = strcmp( id, "xml-string" ) ? 0 : 1;
+ int is_filename = strcmp( id, "xml-string" );
// Strip file:// prefix
if ( data && strlen( data ) >= 7 && strncmp( data, "file://", 7 ) == 0 )
data += 7;
- if ( data == NULL || !strcmp( data, "" ) || ( info == 0 && !file_exists( data ) ) )
+ if ( data == NULL || !strcmp( data, "" ) || ( is_filename && !file_exists( data ) ) )
return NULL;
context = calloc( 1, sizeof( struct deserialise_context_s ) );
// Decode URL and parse parameters
mlt_properties_set( context->producer_map, "root", "" );
- if ( info == 0 )
+ if ( is_filename )
{
filename = strdup( data );
parse_url( context->params, url_decode( filename, data ) );
xmlSubstituteEntitiesDefault( 1 );
// This is used to facilitate entity substitution in the SAX parser
context->entity_doc = xmlNewDoc( _x("1.0") );
- if ( info == 0 )
+ if ( is_filename )
xmlcontext = xmlCreateFileParserCtxt( filename );
else
xmlcontext = xmlCreateMemoryParserCtxt( data, strlen( data ) );
// Setup the second pass
context->pass ++;
- if ( info == 0 )
+ if ( is_filename )
xmlcontext = xmlCreateFileParserCtxt( filename );
else
xmlcontext = xmlCreateMemoryParserCtxt( data, strlen( data ) );
if ( getenv( "MLT_XML_DEEP" ) == NULL )
{
// Now assign additional properties
- if ( info == 0 && !mlt_properties_get( properties, "resource" ) )
+ if ( is_filename && mlt_service_identify( service ) == tractor_type )
mlt_properties_set( properties, "resource", data );
// This tells consumer_xml not to deep copy