mirror of https://github.com/aria2/aria2
2007-11-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Trim announce URL * src/DefaultBtContext.cc * test/ShaVisitorTest.cc Trim argument s. Give trimed s to exception constructor. * src/Util.cc (parseInt)(parseLLInt) * test/UtilTest.ccpull/1/head
parent
b27c529549
commit
194f45a3c3
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2007-11-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
||||
|
||||
Trim announce URL
|
||||
* src/DefaultBtContext.cc
|
||||
* test/ShaVisitorTest.cc
|
||||
|
||||
Trim argument s. Give trimed s to exception constructor.
|
||||
* src/Util.cc (parseInt)(parseLLInt)
|
||||
* test/UtilTest.cc
|
||||
|
||||
2007-11-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
|
||||
|
||||
Set precision back to 1.
|
||||
|
|
1
TODO
1
TODO
|
@ -54,6 +54,7 @@
|
|||
DownloadFailureException .... RequestGroup should halt.
|
||||
FatalException .... Program should abort.
|
||||
* replace strtol with Util::parseInt
|
||||
* do performance tuning against Xml2MetalinkProcessor
|
||||
|
||||
-- remaining issues to be implemented for 0.12.0 release
|
||||
* Update translation
|
||||
|
|
|
@ -161,7 +161,7 @@ void DefaultBtContext::extractFileEntries(Dictionary* infoDic,
|
|||
|
||||
void DefaultBtContext::extractAnnounce(Data* announceData) {
|
||||
Strings urls;
|
||||
urls.push_back(announceData->toString());
|
||||
urls.push_back(Util::trim(announceData->toString()));
|
||||
announceTiers.push_back(AnnounceTierHandle(new AnnounceTier(urls)));
|
||||
}
|
||||
|
||||
|
@ -173,7 +173,7 @@ void DefaultBtContext::extractAnnounceList(List* announceListData) {
|
|||
for(MetaList::const_iterator elemItr = elem->getList().begin();
|
||||
elemItr != elem->getList().end(); elemItr++) {
|
||||
const Data* data = (Data*)*elemItr;
|
||||
urls.push_back(data->toString());
|
||||
urls.push_back(Util::trim(data->toString()));
|
||||
}
|
||||
if(urls.size()) {
|
||||
AnnounceTierHandle tier(new AnnounceTier(urls));
|
||||
|
|
18
src/Util.cc
18
src/Util.cc
|
@ -462,38 +462,40 @@ void Util::unfoldRange(const string& src, Integers& range) {
|
|||
|
||||
int32_t Util::parseInt(const string& s, int32_t base)
|
||||
{
|
||||
if(s.empty()) {
|
||||
string trimed = Util::trim(s);
|
||||
if(trimed.empty()) {
|
||||
throw new DlAbortEx(MSG_STRING_INTEGER_CONVERSION_FAILURE,
|
||||
"empty string");
|
||||
}
|
||||
char* stop;
|
||||
errno = 0;
|
||||
long int v = strtol(s.c_str(), &stop, base);
|
||||
long int v = strtol(trimed.c_str(), &stop, base);
|
||||
if(*stop != '\0') {
|
||||
throw new DlAbortEx(MSG_STRING_INTEGER_CONVERSION_FAILURE,
|
||||
"illegal character");
|
||||
trimed.c_str());
|
||||
} else if((v == LONG_MIN || v == LONG_MAX) && errno == ERANGE || v > INT32_MAX || v < INT32_MIN) {
|
||||
throw new DlAbortEx(MSG_STRING_INTEGER_CONVERSION_FAILURE,
|
||||
"overflow/underflow");
|
||||
trimed.c_str());
|
||||
}
|
||||
return v;
|
||||
}
|
||||
|
||||
int64_t Util::parseLLInt(const string& s, int32_t base)
|
||||
{
|
||||
if(s.empty()) {
|
||||
string trimed = Util::trim(s);
|
||||
if(trimed.empty()) {
|
||||
throw new DlAbortEx(MSG_STRING_INTEGER_CONVERSION_FAILURE,
|
||||
"empty string");
|
||||
}
|
||||
char* stop;
|
||||
errno = 0;
|
||||
int64_t v = strtoll(s.c_str(), &stop, base);
|
||||
int64_t v = strtoll(trimed.c_str(), &stop, base);
|
||||
if(*stop != '\0') {
|
||||
throw new DlAbortEx(MSG_STRING_INTEGER_CONVERSION_FAILURE,
|
||||
"illegal character");
|
||||
trimed.c_str());
|
||||
} else if((v == INT64_MIN || v == INT64_MAX) && errno == ERANGE) {
|
||||
throw new DlAbortEx(MSG_STRING_INTEGER_CONVERSION_FAILURE,
|
||||
"overflow/underflow");
|
||||
trimed.c_str());
|
||||
}
|
||||
return v;
|
||||
}
|
||||
|
|
|
@ -57,6 +57,6 @@ void ShaVisitorTest::testVisitCompound() {
|
|||
int len = 0;
|
||||
v.getHash(md, len);
|
||||
string hashHex = hexHash(md, len);
|
||||
CPPUNIT_ASSERT_EQUAL(string("36a58c6ab3eb02caa952f4345f57fabb06a39511"),
|
||||
CPPUNIT_ASSERT_EQUAL(string("5a2bf55fb6ec71a9cd3e06537aa7795cafccffab"),
|
||||
hashHex);
|
||||
}
|
||||
|
|
|
@ -514,7 +514,7 @@ void UtilTest::testParseIntRange_invalidRange()
|
|||
|
||||
void UtilTest::testParseInt()
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL((int32_t)-1, Util::parseInt("-1"));
|
||||
CPPUNIT_ASSERT_EQUAL((int32_t)-1, Util::parseInt(" -1 "));
|
||||
CPPUNIT_ASSERT_EQUAL((int32_t)2147483647, Util::parseInt("2147483647"));
|
||||
try {
|
||||
Util::parseInt("2147483648");
|
||||
|
@ -548,7 +548,7 @@ void UtilTest::testParseInt()
|
|||
|
||||
void UtilTest::testParseLLInt()
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL((int64_t)-1, Util::parseLLInt("-1"));
|
||||
CPPUNIT_ASSERT_EQUAL((int64_t)-1, Util::parseLLInt(" -1 "));
|
||||
CPPUNIT_ASSERT_EQUAL((int64_t)9223372036854775807LL,
|
||||
Util::parseLLInt("9223372036854775807"));
|
||||
try {
|
||||
|
|
|
@ -1 +1 @@
|
|||
d8:announce36:http://aria.rednoah.com/announce.php7:comment17:REDNOAH.COM RULES13:creation datei1123456789e4:infod4:name19:aria2-0.8.2.tar.bz26:lengthi384e12:piece lengthi128e6:pieces60:AAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCee
|
||||
d8:announce37:http://aria.rednoah.com/announce.php 7:comment17:REDNOAH.COM RULES13:creation datei1123456789e4:infod4:name19:aria2-0.8.2.tar.bz26:lengthi384e12:piece lengthi128e6:pieces60:AAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCee
|
|
@ -1 +1 @@
|
|||
d8:announce36:http://aria.rednoah.com/announce.php13:announce-listll15:http://tracker1el15:http://tracker2el15:http://tracker3ee7:comment17:REDNOAH.COM RULES13:creation datei1123456789e4:infod5:filesld6:lengthi284e4:pathl5:aria23:src6:aria2ceed6:lengthi100e4:pathl19:aria2-0.2.2.tar.bz2eee4:name10:aria2-test12:piece lengthi128e6:pieces60:AAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCee
|
||||
d8:announce36:http://aria.rednoah.com/announce.php13:announce-listll16:http://tracker1 el15:http://tracker2el15:http://tracker3ee7:comment17:REDNOAH.COM RULES13:creation datei1123456789e4:infod5:filesld6:lengthi284e4:pathl5:aria23:src6:aria2ceed6:lengthi100e4:pathl19:aria2-0.2.2.tar.bz2eee4:name10:aria2-test12:piece lengthi128e6:pieces60:AAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCee
|
Loading…
Reference in New Issue