Optimize converter between QString and sha1_hash

This commit is contained in:
Christophe Dumez 2012-02-16 21:17:15 +02:00
parent de4559659d
commit 0d0c7559bf
2 changed files with 4 additions and 8 deletions

View File

@ -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);

View File

@ -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;