All pastes #467634 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-05-02 16:53 UTC
rendered paste body
Index: libkyahoo/listtask.cpp
===================================================================
--- libkyahoo/listtask.cpp	(Revision 660411)
+++ libkyahoo/listtask.cpp	(Revision 660413)
@@ -69,13 +69,13 @@
 	kdDebug(YAHOO_RAW_DEBUG) << k_funcinfo << endl;
 
 	QString raw;
-	raw = t->firstParam( 87 );
-	
-	if( raw.isEmpty() )
+	m_list.append( t->firstParam( 87 ) );
+
+	if( t->firstParam( 59 ).isEmpty() )
 		return;
 
 	QStringList groups;
-	groups = QStringList::split( "\n", raw );
+	groups = QStringList::split( "\n", m_list );
 
 	for ( QStringList::Iterator groupIt = groups.begin(); groupIt != groups.end(); ++groupIt ) 
 	{
@@ -88,6 +88,7 @@
 			emit gotBuddy( *buddyIt, QString::null, group );
 		}
 	}
+	m_list.truncate( 0 );
 }
 
 void ListTask::parseStealthList( YMSGTransfer *t )
Index: libkyahoo/ymsgprotocol.cpp
===================================================================
--- libkyahoo/ymsgprotocol.cpp	(Revision 660411)
+++ libkyahoo/ymsgprotocol.cpp	(Revision 660413)
@@ -357,9 +357,10 @@
 			if (accept)
 				value[x++] = data[pos++];
 		}
-		if (accept)
+		if (accept) {
 			value[x] = 0;
-		pos += 2;
+			pos += 2;
+		}
 
 		if (accept) 
 		{
@@ -375,8 +376,8 @@
 	}
 
 	// Packets consisting of several YMSG-packets sometimes contain padding chars (0x00) -> filter out
- 	while( (BYTE)data[pos] == (BYTE) 0x00 && pos <= len + 20)
- 		pos++;
+	while( (BYTE)data[pos] == (BYTE) 0x00 && pos <= len + 20)
+		pos++;
 
 	kdDebug(YAHOO_RAW_DEBUG) << k_funcinfo << " Returning transfer" << endl;
 	// tell them we have parsed offset bytes
Index: libkyahoo/listtask.h
===================================================================
--- libkyahoo/listtask.h	(Revision 660411)
+++ libkyahoo/listtask.h	(Revision 660413)
@@ -41,6 +41,8 @@
 signals:
 	void gotBuddy(const QString&, const QString&, const QString&);
 	void stealthStatusChanged( const QString&, Yahoo::StealthStatus );
+private:
+	QString m_list;
 };
 
 #endif
Index: libkyahoo/coreprotocol.cpp
===================================================================
--- libkyahoo/coreprotocol.cpp	(Revision 660411)
+++ libkyahoo/coreprotocol.cpp	(Revision 660413)
@@ -184,7 +184,7 @@
 		}
 		else 
 		{ 
-			kdDebug(YAHOO_RAW_DEBUG) << k_funcinfo << " - not a valid YMSG packet. Trying to recover." << endl;
+			kdDebug(YAHOO_RAW_DEBUG) << k_funcinfo << " - not a valid YMSG packet. Trying to recover: " << wire << endl;
 			QTextStream s( wire, IO_ReadOnly );
 			QString remaining = s.read();
 			int pos = remaining.find( "YMSG", bytesParsed );