Ticket #572: reenable_plaintoxmlformatdoc_whilepreserving_filesync.diff
| File reenable_plaintoxmlformatdoc_whilepreserving_filesync.diff, 1.5 KB (added by prahal, 4 years ago) |
|---|
-
formats/xmlformat-doc.c
26 26 #include <opensync/opensync-xmlformat.h> 27 27 #include <opensync/opensync-format.h> 28 28 29 osync_bool convert_func(char *input, unsigned int inpsize, char **output, unsigned int *outpsize, osync_bool *free_input, const char *config, OSyncError **error) 30 { 31 *free_input = TRUE; 32 *output = g_strdup(input); 33 *outpsize = inpsize; 34 return TRUE; 35 } 36 29 37 static osync_bool detect_plain_as_xmlformat(const char *objtype, const char *data, int size) 30 38 { 31 39 osync_assert(objtype); … … 129 137 130 138 OSyncObjFormat *fromformat = osync_format_env_find_objformat(env, fromname); 131 139 OSyncObjFormat *toformat = osync_format_env_find_objformat(env, toname); 140 OSyncObjFormat *plain = osync_format_env_find_objformat(env, "plain"); 132 141 133 142 if (!fromformat || !toformat) { 134 143 osync_trace(TRACE_ERROR, "Unable to register converter for %s->%s, format not found\n", fromname, toname); … … 155 164 osync_converter_unref(conv); 156 165 157 166 167 /* plain as xmlformat */ 168 conv = osync_converter_new(OSYNC_CONVERTER_DECAP, plain, fromformat, convert_func, &error); 169 if (!conv) { 170 osync_trace(TRACE_ERROR, "Unable to register converter: %s", osync_error_print(&error)); 171 osync_error_unref(&error); 172 return FALSE; 173 } 174 osync_format_env_register_converter(env, conv); 175 osync_converter_unref(conv); 176 158 177 return TRUE; 159 178 } 160 179
