Convenience functionality for properties load and miracle_server_id function
authorlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Sun, 17 Oct 2004 10:46:20 +0000 (10:46 +0000)
committerlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Sun, 17 Oct 2004 10:46:20 +0000 (10:46 +0000)
git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@482 d19143bc-622f-0410-bfdd-b5b2a6649095

src/framework/mlt_properties.c
src/miracle/miracle_server.c
src/miracle/miracle_server.h

index ab2c206..01c4ba2 100644 (file)
@@ -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 );
index 5ea3978..1ea982f 100644 (file)
@@ -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 )
index ce8ef25..d480af5 100644 (file)
@@ -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 * );