From: lilo_booter Date: Sun, 17 Oct 2004 10:46:20 +0000 (+0000) Subject: Convenience functionality for properties load and miracle_server_id function X-Git-Url: http://research.m1stereo.tv/gitweb?a=commitdiff_plain;h=ebcbb3571620a43fe24b3f8fa0161096ef628dbe;p=melted Convenience functionality for properties load and miracle_server_id function git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@482 d19143bc-622f-0410-bfdd-b5b2a6649095 --- diff --git a/src/framework/mlt_properties.c b/src/framework/mlt_properties.c index ab2c206..01c4ba2 100644 --- a/src/framework/mlt_properties.c +++ b/src/framework/mlt_properties.c @@ -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 ); diff --git a/src/miracle/miracle_server.c b/src/miracle/miracle_server.c index 5ea3978..1ea982f 100644 --- a/src/miracle/miracle_server.c +++ b/src/miracle/miracle_server.c @@ -86,6 +86,11 @@ miracle_server miracle_server_init( char *id ) return server; } +const char *miracle_server_id( miracle_server server ) +{ + return server != NULL && server->id != NULL ? server->id : "miracle"; +} + void miracle_server_set_config( miracle_server server, char *config ) { if ( server != NULL ) diff --git a/src/miracle/miracle_server.h b/src/miracle/miracle_server.h index ce8ef25..d480af5 100644 --- a/src/miracle/miracle_server.h +++ b/src/miracle/miracle_server.h @@ -60,6 +60,7 @@ typedef struct */ extern miracle_server miracle_server_init( char * ); +extern const char *miracle_server_id( miracle_server ); extern void miracle_server_set_config( miracle_server, char * ); extern void miracle_server_set_port( miracle_server, int ); extern void miracle_server_set_proxy( miracle_server, char * );