[Gd-chatter] r10744 - trunk/libraries/xmpp

turbo24prg at gwydiondylan.org turbo24prg at gwydiondylan.org
Wed May 17 22:35:53 CEST 2006


Author: turbo24prg
Date: Wed May 17 22:35:51 2006
New Revision: 10744

Modified:
   trunk/libraries/xmpp/client.dylan
Log:
Bug: 7313
* empty elements get added
* still messy as hell, will get
  a cleanup soon


Modified: trunk/libraries/xmpp/client.dylan
==============================================================================
--- trunk/libraries/xmpp/client.dylan	(original)
+++ trunk/libraries/xmpp/client.dylan	Wed May 17 22:35:51 2006
@@ -71,7 +71,7 @@
               end if;
               current-element := element;
               format-out("!!! (current element) %=\n", current-element);
-              if (current-element.name = #"stream:stream" & ~ stream-running?)
+              if (current-element.name = #"stream:stream" & size(tag-queue) = 1 & ~ stream-running?)
                 stream-running? := #t;
                 //!!! do something
                 current-element := #f;
@@ -83,8 +83,17 @@
             elseif (start-tag & ~ opened-element?)
               format-out("!!! (empty)  %s\n", start-tag);
               // dispatch
-
-            
+              let element = make(<element>, name: as(<string>, start-tag));
+              for (attribute in attributes)
+                add-attribute(element, attribute);
+              end for;
+              if (current-element)
+                add-element(current-element, element);
+              end if;
+              // empty stanza
+              if (size(tag-queue) = 1)
+                format-out("!!! (X) %=\n", element);
+              end if;
               // cleanup
               parser-buffer := "";
               parsing-tag? := #f;
@@ -107,7 +116,8 @@
                 else
                   format-out("!!! (-) %=\n", current-element);
                   format-out("!!! (+) %=\n", current-element.element-parent);
-                  if (~ current-element.element-parent)
+//                if (~ current-element.element-parent)
+                  if (size(tag-queue) = 1)
                     format-out("!!! (X) %=\n", current-element);
                     //!!! do something!!!
                   end if;



More information about the chatter mailing list