X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fframework%2Fmlt_properties.c;h=01c4ba2d9a736a1ed04565d238abe14281ec0b27;hb=59456c0f8d288d6bfa6df60d692b9209741ab02e;hp=972ad939efa237cc49248e6950921f236a79f9ab;hpb=519393231e6ab626f19bd01d4622d1c3759fcc93;p=melted diff --git a/src/framework/mlt_properties.c b/src/framework/mlt_properties.c index 972ad93..01c4ba2 100644 --- a/src/framework/mlt_properties.c +++ b/src/framework/mlt_properties.c @@ -47,7 +47,7 @@ property_list; /** Memory leak checks. */ -#define _MLT_PROPERTY_CHECKS_ +//#define _MLT_PROPERTY_CHECKS_ #ifdef _MLT_PROPERTY_CHECKS_ static int properties_created = 0; @@ -116,6 +116,7 @@ mlt_properties mlt_properties_load( char *filename ) { // Temp string char temp[ 1024 ]; + char last[ 1024 ] = ""; // Read each string from the file while( fgets( temp, 1024, file ) ) @@ -123,6 +124,19 @@ mlt_properties mlt_properties_load( char *filename ) // Chomp the string temp[ strlen( temp ) - 1 ] = '\0'; + // Check if the line starts with a . + if ( temp[ 0 ] == '.' ) + { + char temp2[ 1024 ]; + sprintf( temp2, "%s%s", last, temp ); + strcpy( temp, temp2 ); + } + else if ( strchr( temp, '=' ) ) + { + strcpy( last, temp ); + *( strchr( last, '=' ) ) = '\0'; + } + // Parse and set the property if ( strcmp( temp, "" ) && temp[ 0 ] != '#' ) mlt_properties_parse( this, temp ); @@ -648,6 +662,8 @@ void mlt_properties_debug( mlt_properties this, char *title, FILE *output ) for ( i = 0; i < list->count; i ++ ) if ( mlt_properties_get( this, list->name[ i ] ) != NULL ) fprintf( output, ", %s=%s", list->name[ i ], mlt_properties_get( this, list->name[ i ] ) ); + else + fprintf( output, ", %s=%p", list->name[ i ], mlt_properties_get_data( this, list->name[ i ], NULL ) ); fprintf( output, " ]" ); } fprintf( stderr, "\n" );