Disco and Caps
From: Ugnich Anton <ugnich@xxxxxxxxx>
Date: Fri, 21 Aug 2009 03:19:58 +0200 (CEST)
Haved trouble with caps ver calculating. It is not valid!
Looked in to the code and found, that disco.cpp returns to
capabilities.cpp list of features WITHOUT disco#info and disco#items.
But, when creating query result tag, it includes this features in the
list.

Can be corrected this way:
disco.cpp, line 270:
-Info *i = new Info( EmptyString, true );
+Info *i = new Info( EmptyString, false );

Also, there an error in composing caps ver string:

--- ./capabilities.cpp.bak      2009-02-09 21:46:21.000000000 +0200
+++ ./capabilities.cpp  2009-08-21 03:16:55.000000000 +0300
@@ -71,8 +71,8 @@ namespace gloox
     StringList::const_iterator it2 = sl.begin();
     for( ; it2 != sl.end(); ++it2 )
     {
+      if( !s.empty() ) s += '<';
       s += (*it2);
-      s += '<';
     }

     StringList f = m_disco->features();
@@ -80,8 +80,8 @@ namespace gloox
     it2 = f.begin();
     for( ; it2 != f.end(); ++it2 )
     {
-      s += (*it2);
       s += '<';
+      s += (*it2);
     }
     SHA sha;
     sha.feed( s );

-- 
Ugnich Anton, <ugnich@xxxxxxxxx>