From 9f8b59691402896bced46fc855c7187786392ba3 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 25 Apr 2008 04:35:06 +0000 Subject: [PATCH] Fix "Unknown Error (0)" messages for torrents that haven't been scraped yet. --- libtransmission/tracker.c | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/libtransmission/tracker.c b/libtransmission/tracker.c index 9c558bf73..f4bd48520 100644 --- a/libtransmission/tracker.c +++ b/libtransmission/tracker.c @@ -859,6 +859,8 @@ tr_trackerNew( const tr_torrent * torrent ) t->timesDownloaded = -1; t->seederCount = -1; t->leecherCount = -1; + t->lastAnnounceResponse = -1; + t->lastScrapeResponse = -1; t->manualAnnounceAllowedAt = ~(time_t)0; t->name = tr_strdup( info->name ); t->randOffset = tr_rand( 120 ); @@ -1000,18 +1002,27 @@ tr_trackerStat( const tr_tracker * t, assert( t ); assert( setme ); - snprintf( setme->scrapeResponse, - sizeof( setme->scrapeResponse ), - "%s (%ld)", tr_webGetResponseStr( t->lastScrapeResponse ), t->lastScrapeResponse ); - setme->lastScrapeTime = t->lastScrapeTime; setme->nextScrapeTime = t->scrapeAt; - - snprintf( setme->announceResponse, - sizeof( setme->announceResponse ), - "%s (%ld)", tr_webGetResponseStr( t->lastAnnounceResponse ), t->lastAnnounceResponse ); - setme->lastAnnounceTime = t->lastAnnounceTime; setme->nextAnnounceTime = t->reannounceAt; setme->nextManualAnnounceTime = t->manualAnnounceAllowedAt; + + if( t->lastScrapeResponse == -1 ) /* never been scraped */ + *setme->scrapeResponse = '\0'; + else + snprintf( setme->scrapeResponse, + sizeof( setme->scrapeResponse ), + "%s (%ld)", + tr_webGetResponseStr( t->lastScrapeResponse ), + t->lastScrapeResponse ); + + if( t->lastAnnounceResponse == -1 ) /* never been announced */ + *setme->announceResponse = '\0'; + else + snprintf( setme->announceResponse, + sizeof( setme->announceResponse ), + "%s (%ld)", + tr_webGetResponseStr( t->lastAnnounceResponse ), + t->lastAnnounceResponse ); }