From: <svn...@op...> - 2009-09-24 17:22:36
|
Author: bellmich Date: Thu Sep 24 19:22:21 2009 New Revision: 1285 URL: http://libsyncml.opensync.org/changeset/1285 Log: fixed hangs on 64 bit machines because of mixed data types The patch was supplied by Jim Radford. The original patch was directly executed without any additions. Modified: trunk/libsyncml/parser/sml_wbxml.c trunk/libsyncml/sml_parse.c trunk/libsyncml/sml_parse.h trunk/libsyncml/sml_session.c Modified: trunk/libsyncml/parser/sml_wbxml.c ============================================================================== --- trunk/libsyncml/parser/sml_wbxml.c Thu Sep 24 19:10:44 2009 (r1284) +++ trunk/libsyncml/parser/sml_wbxml.c Thu Sep 24 19:22:21 2009 (r1285) @@ -165,7 +165,7 @@ smlAssert(size); char *buffer = NULL; - unsigned int buffer_size = 0; + gsize buffer_size = 0; if (!smlXmlAssemblerRun(assm, &buffer, &buffer_size, end, final, 0, error)) goto error; @@ -201,10 +201,10 @@ CHECK_ERROR_REF smlAssert(assm); - unsigned int size = 0; + gsize size = 0; char *data = NULL; char *buffer = NULL; - unsigned int buffer_size = 0; + gsize buffer_size = 0; if (!smlXmlAssemblerRunFull(assm, &buffer, &buffer_size, NULL, TRUE, FALSE, 0, error)) goto error; Modified: trunk/libsyncml/sml_parse.c ============================================================================== --- trunk/libsyncml/sml_parse.c Thu Sep 24 19:10:44 2009 (r1284) +++ trunk/libsyncml/sml_parse.c Thu Sep 24 19:22:21 2009 (r1285) @@ -1078,8 +1078,8 @@ gboolean smlAssemblerGetNextCmdRef (SmlAssembler *assm, - guint *cmdRef, - guint *msgRef) + gsize *cmdRef, + gsize *msgRef) { smlAssert(assm); smlAssert(cmdRef); Modified: trunk/libsyncml/sml_parse.h ============================================================================== --- trunk/libsyncml/sml_parse.h Thu Sep 24 19:10:44 2009 (r1284) +++ trunk/libsyncml/sml_parse.h Thu Sep 24 19:22:21 2009 (r1285) @@ -66,7 +66,7 @@ typedef gboolean (* SmlAssemblerRemCommandFunction) (void *userdata, guint parentID, GError **error); typedef gboolean (* SmlAssemblerHeaderFunction) (void *userdata, SmlSession *session, GError **error); typedef gsize (* SmlAssemblerCheckFunction) (void *userdata, gboolean headeronly, GError **error); -typedef gboolean (* SmlAssemblerNextCmdRefFunction) (void *userdata, guint *cmdRef, guint *msgRef); +typedef gboolean (* SmlAssemblerNextCmdRefFunction) (void *userdata, gsize *cmdRef, gsize *msgRef); typedef void (* SmlAssemblerRestoreCommandsFunction) (void *userdata); typedef struct SmlAssemblerFunctions { @@ -127,7 +127,7 @@ gboolean smlAssemblerIsEmpty (SmlAssembler *assm); gboolean smlAssemblerIsStatusMissing (SmlAssembler *assm); -gboolean smlAssemblerGetNextCmdRef (SmlAssembler *assm, guint *cmdRef, guint *msgRef); +gboolean smlAssemblerGetNextCmdRef (SmlAssembler *assm, gsize *cmdRef, gsize *msgRef); /* If you want to parse OMA DS 1.2 SANs then the manager is required. */ void smlParserSetManager (SmlParser *parser, SmlManager *manager); Modified: trunk/libsyncml/sml_session.c ============================================================================== --- trunk/libsyncml/sml_session.c Thu Sep 24 19:10:44 2009 (r1284) +++ trunk/libsyncml/sml_session.c Thu Sep 24 19:22:21 2009 (r1285) @@ -682,7 +682,7 @@ } break; case SML_SESSION_STATUS:; - unsigned int cmdRef, msgRef = 0; + gsize cmdRef, msgRef = 0; if (!smlAssemblerGetNextCmdRef(session->assembler, &cmdRef, &msgRef)) { g_set_error(&error, SML_ERROR, SML_ERROR_GENERIC, "No more statuses were needed"); goto error; |