From 79d8a5cdf3a2a43dd049672ddaed30376c3d9019 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Thu, 2 Oct 2008 20:30:29 +0000 Subject: [PATCH] (libT) eliminating tr_errno, part 1: make tr_ioTestPiece return an int instead of a tr_errno. --- libtransmission/inout.c | 16 +++------------- libtransmission/inout.h | 8 +++----- libtransmission/peer-mgr.c | 16 +++++++--------- libtransmission/verify.c | 3 +-- 4 files changed, 14 insertions(+), 29 deletions(-) diff --git a/libtransmission/inout.c b/libtransmission/inout.c index 3cd670c41..f03bd3793 100644 --- a/libtransmission/inout.c +++ b/libtransmission/inout.c @@ -266,22 +266,12 @@ recalculateHash( const tr_torrent * tor, return err; } -tr_errno +int tr_ioTestPiece( const tr_torrent * tor, int pieceIndex ) { - int err; uint8_t hash[SHA_DIGEST_LENGTH]; - - err = recalculateHash( tor, pieceIndex, hash ); - - if( !err && memcmp( hash, tor->info.pieces[pieceIndex].hash, - SHA_DIGEST_LENGTH ) ) - err = TR_ERROR_IO_CHECKSUM; - - tr_tordbg ( tor, "piece %d hash check: %s", - pieceIndex, ( err ? "FAILED" : "OK" ) ); - - return err; + const tr_errno err = recalculateHash( tor, pieceIndex, hash ); + return !err && !memcmp( hash, tor->info.pieces[pieceIndex].hash, SHA_DIGEST_LENGTH ); } diff --git a/libtransmission/inout.h b/libtransmission/inout.h index ac3a73ef1..4b25292e3 100644 --- a/libtransmission/inout.h +++ b/libtransmission/inout.h @@ -50,12 +50,10 @@ tr_errno tr_ioWrite( const struct tr_torrent * tor, const uint8_t * writeme ); /** - * returns 0 if the piece matches its metainfo's SHA1 checksum, - * or TR_ERROR_IO_* if there was a problem reading the piece, - * or TR_ERROR if the checksum didn't match. + * returns nonzero if the piece matches its metainfo's SHA1 checksum. */ -tr_errno tr_ioTestPiece( const tr_torrent*, - int piece ); +int tr_ioTestPiece( const tr_torrent*, + int piece ); /** diff --git a/libtransmission/peer-mgr.c b/libtransmission/peer-mgr.c index 995078072..ba1692eb3 100644 --- a/libtransmission/peer-mgr.c +++ b/libtransmission/peer-mgr.c @@ -959,22 +959,20 @@ peerCallbackFunc( void * vpeer, if( tr_cpPieceIsComplete( tor->completion, e->pieceIndex ) ) { const tr_piece_index_t p = e->pieceIndex; - const tr_errno err = tr_ioTestPiece( tor, p ); + const int ok = tr_ioTestPiece( tor, p ); - if( err ) + if( !ok ) { tr_torerr( tor, - _( - "Piece %lu, which was just downloaded, failed its checksum test: %s" ), - (unsigned long)p, tr_errorString( err ) ); + _( "Piece %lu, which was just downloaded, failed its checksum test" ), + (unsigned long)p ); } - tr_torrentSetHasPiece( tor, p, !err ); + tr_torrentSetHasPiece( tor, p, ok ); tr_torrentSetPieceChecked( tor, p, TRUE ); - tr_peerMgrSetBlame( tor->session->peerMgr, tor->info.hash, p, - !err ); + tr_peerMgrSetBlame( tor->session->peerMgr, tor->info.hash, p, ok ); - if( err ) + if( !ok ) gotBadPiece( t, p ); else { diff --git a/libtransmission/verify.c b/libtransmission/verify.c index 39fbb7171..c3c2ded7f 100644 --- a/libtransmission/verify.c +++ b/libtransmission/verify.c @@ -85,9 +85,8 @@ checkFile( tr_torrent * tor, { const int wasComplete = tr_cpPieceIsComplete( tor->completion, i ); - const tr_errno err = tr_ioTestPiece( tor, i ); - if( !err ) /* yay */ + if( tr_ioTestPiece( tor, i ) ) /* yay */ { tr_torrentSetHasPiece( tor, i, TRUE ); if( !wasComplete ) -- 2.40.0