[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/network/ktorrent
From:       Joris Guisson <joris.guisson () gmail ! com>
Date:       2010-10-26 17:58:07
Message-ID: 20101026175807.BCF2AAC897 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1190036 by guisson:

Add patch from Duns Ens for kio_magnet stuff

 M  +13 -2     ktmagnetdownloader/magnettest.cpp  
 M  +16 -2     ktorrent/core.cpp  


--- trunk/extragear/network/ktorrent/ktmagnetdownloader/magnettest.cpp #1190035:1190036
@@ -136,11 +136,22 @@
 	{
 		BEncoder enc(&fptr);
 		enc.beginDict();
-		if (!mlink.tracker().isEmpty())
+		QStringList trs = mlink.trackers();
+		if (trs.count())
 		{
 			enc.write("announce");
-			enc.write(mlink.tracker());
+			enc.write(trs.first());
+			if (trs.count()>1){
+				enc.write("announce-list");
+				enc.beginList();
+				QList<QString>::const_iterator it = trs.begin();
+				QList<QString>::const_iterator end = trs.end();
+				for(;it!=end;it++){
+					enc.write((*it));
 		}
+				enc.end();
+			}	
+		}
 		enc.write("info");
 		fptr.write(data.data(),data.size());
 		enc.end();
--- trunk/extragear/network/ktorrent/ktorrent/core.cpp #1190035:1190036
@@ -45,6 +45,7 @@
 #include <util/functions.h>
 #include <util/waitjob.h>
 #include <bcodec/bencoder.h>
+#include <bcodec/bnode.h>
 #include <plugin/pluginmanager.h>
 #include <groups/groupmanager.h>
 #include <groups/group.h>
@@ -1456,11 +1457,24 @@
 		BEncoderBufferOutput* out = new BEncoderBufferOutput(tmp);
 		BEncoder enc(out);
 		enc.beginDict();
-		if (!mlink.tracker().isEmpty())
+		KUrl::List trs = mlink.trackers();
+		if (trs.count())
 		{
 			enc.write("announce");
-			enc.write(mlink.tracker());
+			enc.write(trs.first().prettyUrl());
+			if (trs.count() > 1)
+			{
+				enc.write("announce-list");
+				enc.beginList();
+				foreach (const KUrl &tracker,trs)
+				{
+					enc.beginList();
+					enc.write(tracker.prettyUrl());
+					enc.end();
 		}
+				enc.end();
+			}
+		}
 		enc.write("info");
 		out->write(data.data(),data.size());
 		enc.end();
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic