Browse Source

Optimize converter between QString and sha1_hash

adaptive-webui-19844
Christophe Dumez 13 years ago
parent
commit
0d0c7559bf
  1. 10
      src/misc.h
  2. 2
      src/qtlibtorrent/qbtsession.cpp

10
src/misc.h

@ -73,13 +73,9 @@ public: @@ -73,13 +73,9 @@ public:
}
static inline QString toQString(const libtorrent::sha1_hash &hash) {
std::ostringstream o;
o << hash;
return QString(o.str().c_str());
}
static inline libtorrent::sha1_hash toSha1Hash(const QString &hash) {
return libtorrent::sha1_hash(hash.toAscii().constData());
char out[41];
to_hex((char const*)&hash[0], libtorrent::sha1_hash::size, out);
return QString(out);
}
static void chmod644(const QDir& folder);

2
src/qtlibtorrent/qbtsession.cpp

@ -909,7 +909,7 @@ QTorrentHandle QBtSession::addMagnetUri(QString magnet_uri, bool resumed) { @@ -909,7 +909,7 @@ QTorrentHandle QBtSession::addMagnetUri(QString magnet_uri, bool resumed) {
Q_ASSERT(magnet_uri.startsWith("magnet:", Qt::CaseInsensitive));
// Check for duplicate torrent
if(s->find_torrent(misc::toSha1Hash(hash)).is_valid()) {
if(s->find_torrent(QStringToSha1(hash)).is_valid()) {
qDebug("/!\\ Torrent is already in download list");
addConsoleMessage(tr("'%1' is already in download list.", "e.g: 'xxx.avi' is already in download list.").arg(magnet_uri));
return h;

Loading…
Cancel
Save