Ticket #104: libsyncml-devinf12-0.4.2+svn20070208.diff
| File libsyncml-devinf12-0.4.2+svn20070208.diff, 6.2 kB (added by akriegisch, 2 years ago) |
|---|
-
libsyncml/objects/sml_devinf_obj.c
old new 95 95 96 96 if (!agent->devinfSent) { 97 97 if (get) { 98 if (smlSessionGetVersion(session) == SML_VERSION_10) 98 SmlProtocolVersion ver = smlSessionGetVersion(session); 99 if (ver == SML_VERSION_10) 99 100 result = smlDevInfNewResult(get, agent->devinf, SML_DEVINF_VERSION_10, error); 100 else 101 else if (ver == SML_VERSION_11) 101 102 result = smlDevInfNewResult(get, agent->devinf, SML_DEVINF_VERSION_11, error); 102 103 else if (ver == SML_VERSION_12) 104 result = smlDevInfNewResult(get, agent->devinf, SML_DEVINF_VERSION_12, error); 105 103 106 if (!result) 104 107 goto error; 105 108 … … 123 126 } else { 124 127 if (smlSessionGetVersion(session) == SML_VERSION_10) 125 128 cmd = smlDevInfNewPut(agent->devinf, SML_DEVINF_VERSION_10, error); 126 else 129 else if (smlSessionGetVersion(session) == SML_VERSION_11) 127 130 cmd = smlDevInfNewPut(agent->devinf, SML_DEVINF_VERSION_11, error); 128 131 else if (smlSessionGetVersion(session) == SML_VERSION_12) 132 cmd = smlDevInfNewPut(agent->devinf, SML_DEVINF_VERSION_12, error); 129 133 if (!cmd) 130 134 goto error; 131 135 … … 281 285 282 286 if (smlSessionGetVersion(session) == SML_VERSION_10) 283 287 get = smlDevInfNewGet(SML_DEVINF_VERSION_10, error); 284 else 288 else if (smlSessionGetVersion(session) == SML_VERSION_11) 285 289 get = smlDevInfNewGet(SML_DEVINF_VERSION_11, error); 286 290 else if (smlSessionGetVersion(session) == SML_VERSION_12) 291 get = smlDevInfNewGet(SML_DEVINF_VERSION_12, error); 292 287 293 if (!get) 288 294 goto error; 289 295 … … 308 314 smlAssert(agent); 309 315 smlAssert(manager); 310 316 311 SmlLocation *devinf11 = smlLocationNew("./devinf11", NULL, error);312 317 SmlLocation *devinf10 = smlLocationNew("./devinf10", NULL, error); 318 SmlLocation *devinf11 = smlLocationNew("./devinf11", NULL, error); 319 SmlLocation *devinf12 = smlLocationNew("./devinf12", NULL, error); 313 320 314 if (!devinf1 1 || !devinf10)321 if (!devinf10 || !devinf11 || !devinf12) 315 322 goto error; 316 323 317 324 if (!smlManagerObjectRegister(manager, SML_COMMAND_TYPE_PUT, session, NULL, devinf10, NULL, _recv_devinf, NULL, agent, error)) 318 325 goto error_free_loc; 319 326 if (!smlManagerObjectRegister(manager, SML_COMMAND_TYPE_PUT, session, NULL, devinf11, NULL, _recv_devinf, NULL, agent, error)) 320 327 goto error_free_loc; 328 if (!smlManagerObjectRegister(manager, SML_COMMAND_TYPE_PUT, session, NULL, devinf12, NULL, _recv_devinf, NULL, agent, error)) 329 goto error_free_loc; 321 330 322 331 if (!smlManagerObjectRegister(manager, SML_COMMAND_TYPE_GET, session, devinf10, NULL, NULL, _request_devinf, NULL, agent, error)) 323 332 goto error_free_loc; 324 333 if (!smlManagerObjectRegister(manager, SML_COMMAND_TYPE_GET, session, devinf11, NULL, NULL, _request_devinf, NULL, agent, error)) 325 334 goto error_free_loc; 335 if (!smlManagerObjectRegister(manager, SML_COMMAND_TYPE_GET, session, devinf12, NULL, NULL, _request_devinf, NULL, agent, error)) 336 goto error_free_loc; 326 337 327 338 smlLocationUnref(devinf10); 328 339 smlLocationUnref(devinf11); 340 smlLocationUnref(devinf12); 329 341 330 342 smlTrace(TRACE_EXIT, "%s", __func__); 331 343 return TRUE; … … 335 347 smlLocationUnref(devinf10); 336 348 if (devinf11) 337 349 smlLocationUnref(devinf11); 350 if (devinf12) 351 smlLocationUnref(devinf12); 338 352 error: 339 353 smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); 340 354 return FALSE; -
libsyncml/parser/sml_xml_assm.c
old new 1871 1871 1872 1872 //Verdtd 1873 1873 switch (version) { 1874 case SML_DEVINF_VERSION_10: 1875 if (!_smlXmlAssemblerAddString(assm, SML_ELEMENT_VERDTD, "1.0", error)) 1876 goto error_free_writer; 1877 break; 1874 1878 case SML_DEVINF_VERSION_11: 1875 1879 if (!_smlXmlAssemblerAddString(assm, SML_ELEMENT_VERDTD, "1.1", error)) 1876 1880 goto error_free_writer; 1877 1881 break; 1878 case SML_DEVINF_VERSION_1 0:1879 if (!_smlXmlAssemblerAddString(assm, SML_ELEMENT_VERDTD, "1. 0", error))1882 case SML_DEVINF_VERSION_12: 1883 if (!_smlXmlAssemblerAddString(assm, SML_ELEMENT_VERDTD, "1.2", error)) 1880 1884 goto error_free_writer; 1881 1885 break; 1882 1886 case SML_DEVINF_VERSION_UNKNOWN: -
libsyncml/parser/sml_xml_parse.c
old new 2219 2219 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_DSMEM)) { 2220 2220 if (!_smlXmlDevInfDataStoreParseDSMem(parser, datastore, error)) 2221 2221 goto error_free_datastore; 2222 } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_CTCAP) && 2223 devinf->version >= SML_DEVINF_VERSION_12) { 2224 // Ignore for now 2225 smlTrace(TRACE_INTERNAL, "Skipping ctcap node in SyncML 1.2"); 2226 if (xmlTextReaderNext(parser->reader) != 1) { 2227 smlErrorSet(error, SML_ERROR_GENERIC, "Unable to skip ctcap node"); 2228 goto error; 2229 } 2230 continue; 2222 2231 } else { 2223 2232 smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node (%s)", (char *)xmlTextReaderConstName(parser->reader)); 2224 2233 goto error_free_datastore; … … 2295 2304 if (!_smlXmlParserGetString(parser, &verdtd, SML_ELEMENT_VERDTD, error)) 2296 2305 goto error_free_devinf; 2297 2306 2298 if (verdtd && !strcmp(verdtd, "1.1")) 2299 devinf->version = SML_DEVINF_VERSION_11; 2300 else if (verdtd && !strcmp(verdtd, "1.0")) 2307 if (verdtd && !strcmp(verdtd, "1.0")) 2301 2308 devinf->version = SML_DEVINF_VERSION_10; 2309 else if (verdtd && !strcmp(verdtd, "1.1")) 2310 devinf->version = SML_DEVINF_VERSION_11; 2311 else if (verdtd && !strcmp(verdtd, "1.2")) 2312 devinf->version = SML_DEVINF_VERSION_12; 2302 2313 else { 2303 2314 g_free(verdtd); 2304 2315 smlErrorSet(error, SML_ERROR_GENERIC, "Unknown devinf version"); -
libsyncml/sml_defines.h
old new 187 187 typedef enum { 188 188 SML_DEVINF_VERSION_UNKNOWN = 0, 189 189 SML_DEVINF_VERSION_10 = 1, 190 SML_DEVINF_VERSION_11 = 2 190 SML_DEVINF_VERSION_11 = 2, 191 SML_DEVINF_VERSION_12 = 3 191 192 } SmlDevInfVersion; 192 193 193 194 typedef enum {
