Author: rhs
Date: Thu Oct  4 15:01:38 2012
New Revision: 1394107

URL: http://svn.apache.org/viewvc?rev=1394107&view=rev
Log:
fixed scan bug

Modified:
    qpid/proton/trunk/proton-c/src/codec/codec.c
    qpid/proton/trunk/tests/proton_tests/engine.py

Modified: qpid/proton/trunk/proton-c/src/codec/codec.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/codec/codec.c?rev=1394107&r1=1394106&r2=1394107&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/codec/codec.c (original)
+++ qpid/proton/trunk/proton-c/src/codec/codec.c Thu Oct  4 15:01:38 2012
@@ -2319,7 +2319,10 @@ int pn_data_vscan(pn_data_t *data, const
         pn_data_enter(data);
         scanned = true;
       } else {
-        resume_count = 2;
+        if (!suspend) {
+          resume_count = 3;
+          count_level = level;
+        }
         scanned = false;
       }
       if (resume_count && level == count_level) resume_count--;
@@ -2341,7 +2344,10 @@ int pn_data_vscan(pn_data_t *data, const
         scanned = true;
         at = true;
       } else {
-        if (!resume_count) resume_count = 2;
+        if (!suspend) {
+          resume_count = 3;
+          count_level = level;
+        }
         scanned = false;
       }
       if (resume_count && level == count_level) resume_count--;
@@ -2356,7 +2362,10 @@ int pn_data_vscan(pn_data_t *data, const
           pn_data_enter(data);
           scanned = true;
         } else {
-          if (!resume_count) resume_count = 1;
+          if (!suspend) {
+            resume_count = 1;
+            count_level = level;
+          }
           scanned = false;
         }
       }
@@ -2368,7 +2377,10 @@ int pn_data_vscan(pn_data_t *data, const
         pn_data_enter(data);
         scanned = true;
       } else {
-        if (!resume_count) resume_count = 1;
+        if (resume_count) {
+          resume_count = 1;
+          count_level = level;
+        }
         scanned = false;
       }
       level++;

Modified: qpid/proton/trunk/tests/proton_tests/engine.py
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/tests/proton_tests/engine.py?rev=1394107&r1=1394106&r2=1394107&view=diff
==============================================================================
--- qpid/proton/trunk/tests/proton_tests/engine.py (original)
+++ qpid/proton/trunk/tests/proton_tests/engine.py Thu Oct  4 15:01:38 2012
@@ -352,9 +352,9 @@ class LinkTest(Test):
     self.snd.close()
     self.pump()
 
-  def test_source_target(self):
-    self.snd.source = "source"
-    self.snd.target = "target"
+  def _test_source_target(self, source, target):
+    self.snd.source = source
+    self.snd.target = target
     self.snd.open()
     self.pump()
     assert self.rcv.remote_source == self.snd.source
@@ -366,6 +366,15 @@ class LinkTest(Test):
     assert self.snd.remote_target == self.snd.target
     assert self.snd.remote_source == self.snd.source
 
+  def test_source_target(self):
+    self._test_source_target("source", "target")
+
+  def test_source(self):
+    self._test_source_target("source", None)
+
+  def test_target(self):
+    self._test_source_target(None, "target")
+
 class TransferTest(Test):
 
   def setup(self):



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to