Hello community,
here is the log from the commit of package libsyncml
checked in at Mon Aug 28 18:41:34 CEST 2006.
--------
--- libsyncml/libsyncml.changes 2006-07-06 14:48:57.000000000 +0200
+++ libsyncml/libsyncml.changes 2006-08-28 13:05:11.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Aug 28 12:39:39 CEST 2006 - cstender@suse.de
+
+- updated to version 0.4.0+svn183
+
+-------------------------------------------------------------------
Old:
----
libsyncml-0.4.0_SVN182.tar.bz2
New:
----
libsyncml-nopending.diff
libsyncml-numberofchanged.diff
libsyncml_0.4.0+svn183.orig.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libsyncml.spec ++++++
--- /var/tmp/diff_new_pack.d78pZq/_old 2006-08-28 18:41:26.000000000 +0200
+++ /var/tmp/diff_new_pack.d78pZq/_new 2006-08-28 18:41:26.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package libsyncml (Version 0.4.0_SVN182)
+# spec file for package libsyncml (Version 0.4.0+svn183)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -13,14 +13,16 @@
Name: libsyncml
BuildRequires: libsoup-devel libxml2-devel openobex-devel wbxml2
URL: http://libsyncml.opensync.org/
-Version: 0.4.0_SVN182
+Version: 0.4.0+svn183
Release: 1
Summary: Library providing support for the SyncML protocol
License: LGPL
Group: Productivity/Other
Autoreqprov: on
-Source: %{name}-%{version}.tar.bz2
+Source: %{name}_%{version}.orig.tar.gz
Patch0: libsyncml-wbxml-linking.diff
+Patch1: libsyncml-nopending.diff
+Patch2: libsyncml-numberofchanged.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: wbxml2 openobex glib2 libxml2 expat gnutls libgcrypt libgpg-error
Requires: libsoup >= 2.2.93
@@ -56,8 +58,10 @@
Armin Bauer
%prep
-%setup -q
+%setup -q -n %{name}-%{version}.orig
%patch0
+%patch1
+%patch2
%build
autoreconf -sif
@@ -91,6 +95,8 @@
%{_includedir}/%{name}-1.0/%{name}/*
%changelog -n libsyncml
+* Mon Aug 28 2006 - cstender@suse.de
+- updated to version 0.4.0+svn183
* Thu Jul 06 2006 - dgollub@suse.de
- updated to version 0.0.4_SVN182:
o added function to dump device information
++++++ libsyncml-nopending.diff ++++++
Index: libsyncml/sml_session.c
===================================================================
--- libsyncml/sml_session.c (revision 182)
+++ libsyncml/sml_session.c (working copy)
@@ -900,31 +900,26 @@
goto error_free_cmd;
session->waiting = FALSE;
+
+ /* Dispatch the final event before we enter the following loop. Otherwise if upper
+ layers depend on the final event we might end in a deadlock. */
+ if (final) {
+ session->sending = TRUE;
+ smlSessionDispatchEvent(session, SML_SESSION_EVENT_FINAL, NULL, NULL, NULL, NULL);
+ }
/* We have to wait at this point until no status are pending anymore
- * if we have a incoming buffer. if there is a incoming buffer for large objs open,
+ * if there is a incoming buffer for large objs open,
* the other side expects to see the status for the open buffer of course. so we have to
* wait here for all open statuses, since they have to be added in the correct order and
- * the status for the open buffer is obviously last */
- if (session->incomingBuffer) {
- while (1) {
- unsigned int cmdRef, msgRef = 0;
- if (!smlAssemblerGetNextCmdRef(session->assembler, &cmdRef, &msgRef))
- break;
-
- usleep(1000);
-
- int i = 0;
- unsigned int num = smlQueueLengthPrio(session->command_queue);
- while (!session->waiting && smlQueueCheckPrio(session->command_queue) && i < num) {
- smlSessionDispatch(session);
- i++;
- }
- }
- }
-
- do {
- session->active = FALSE;
+ * the status for the open buffer is obviously last */
+ while (1) {
+ unsigned int cmdRef, msgRef = 0;
+ if (!smlAssemblerGetNextCmdRef(session->assembler, &cmdRef, &msgRef))
+ break;
+
+ usleep(10000);
+
int i = 0;
unsigned int num = smlQueueLengthPrio(session->command_queue);
smlTrace(TRACE_INTERNAL, "Now dispatching %i statuses", num);
@@ -932,7 +927,7 @@
smlSessionDispatch(session);
i++;
}
- } while (session->active);
+ }
smlTrace(TRACE_INTERNAL, "Final %i, waiting %i, sending %i", final, session->waiting, session->sending);
if (final) {
@@ -949,9 +944,6 @@
session->incomingBuffer = NULL;
goto error;
}
-
- session->sending = TRUE;
- smlSessionDispatchEvent(session, SML_SESSION_EVENT_FINAL, NULL, NULL, NULL, NULL);
} else if (!session->waiting && !session->sending) {
smlTrace(TRACE_INTERNAL, "This is not the final message. Empty? %i", smlAssemblerIsEmpty(session->assembler));
/* This was not the final message. So we need to either
++++++ libsyncml-numberofchanged.diff ++++++
--- libsyncml/parser/sml_xml_parse.c
+++ libsyncml/parser/sml_xml_parse.c
@@ -1013,6 +1013,10 @@
(*cmd)->private.sync.hasNumChanged = TRUE;
if (!_smlXmlParserGetID(parser, &((*cmd)->private.sync.numChanged), SML_ELEMENT_NUMBEROFCHANGES, error))
goto error_free_cmd;
+ } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_NUMBEROFCHANGED)) {
+ (*cmd)->private.sync.hasNumChanged = TRUE;
+ if (!_smlXmlParserGetID(parser, &((*cmd)->private.sync.numChanged), SML_ELEMENT_NUMBEROFCHANGED, error))
+ goto error_free_cmd;
} else {
smlErrorSet(error, SML_ERROR_GENERIC, "wrong initial node: %s", xmlTextReaderConstName(parser->reader));
goto error_free_cmd;
--- libsyncml/sml_defines.h
+++ libsyncml/sml_defines.h
@@ -54,6 +54,7 @@
#define SML_ELEMENT_TYPE "Type"
#define SML_ELEMENT_SOURCEREF "SourceRef"
#define SML_ELEMENT_TARGETREF "TargetRef"
+#define SML_ELEMENT_NUMBEROFCHANGED "NumberOfChanged"
#define SML_ELEMENT_NUMBEROFCHANGES "NumberOfChanges"
#define SML_ELEMENT_ADD "Add"
#define SML_ELEMENT_REPLACE "Replace"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org