Changeset 3438

Show
Ignore:
Timestamp:
07/14/08 11:44:48 (2 months ago)
Author:
dgollub
Message:

Update the initialzation of ObjTypeSinks? in osyncplugin command line
tool.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/tools/osyncplugin.c

    r3408 r3438  
    319319                /** Redudant(aka. stolen) code from opensync/client/opensync_client.c */ 
    320320                /* Enable active sinks */ 
    321                 OSyncList *r = osync_plugin_config_get_ressources(config); 
     321                OSyncList *r = NULL; 
     322 
     323                if (config) 
     324                        r = osync_plugin_config_get_ressources(config); 
     325 
    322326                for (; r; r = r->next) { 
    323327                        OSyncPluginRessource *res = r->data; 
    324328                        OSyncObjTypeSink *sink; 
    325329 
     330                        const char *objtype = osync_plugin_ressource_get_objtype(res);  
     331                        /* Check for ObjType sink */ 
     332                        if (!(sink = osync_plugin_info_find_objtype(plugin_info, objtype))) { 
     333                                sink = osync_objtype_sink_new(objtype, error); 
     334                                if (!sink) 
     335                                        goto error_free_pluginconfig; 
     336 
     337                                osync_plugin_info_add_objtype(plugin_info, sink); 
     338                        } 
     339 
    326340                        OSyncList *o = osync_plugin_ressource_get_objformat_sinks(res); 
    327341                        for (; o; o = o->next) { 
    328342                                OSyncObjFormatSink *format_sink = (OSyncObjFormatSink *) o->data;  
    329                                 const char *objformat_str = osync_objformat_sink_get_objformat(format_sink); 
    330                                 OSyncObjFormat *objformat = osync_format_env_find_objformat(format_env, objformat_str); 
    331  
    332                                 if (!objformat) { 
    333                                         osync_error_set(error, OSYNC_ERROR_MISCONFIGURATION, "Couldn't find object format \"%s\"!", objformat_str);  
    334                                         goto error_free_pluginconfig; 
    335                                 } 
    336  
    337                                 const char *objtype = osync_objformat_get_objtype(objformat); 
    338  
    339                                 /* Check for ObjType sink */ 
    340                                 if (!(sink = osync_plugin_info_find_objtype(plugin_info, objtype))) { 
    341                                         sink = osync_objtype_sink_new(objtype, error); 
    342                                         if (!sink) 
    343                                                 goto error_free_pluginconfig; 
    344  
    345                                         osync_plugin_info_add_objtype(plugin_info, sink); 
    346                                 } 
    347  
    348343                                osync_objtype_sink_add_objformat_sink(sink, format_sink); 
    349344                        }