2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Use C++ style cast
	* src/AsyncNameResolver.cc
	* src/Base64.h
	* src/BtBitfieldMessage.cc
	* src/BtHandshakeMessage.cc
	* src/DefaultBtMessageFactory.cc
	* src/DefaultBtProgressInfoFile.cc
	* src/EpollEventPoll.cc
	* src/ExpatMetalinkProcessor.cc
	* src/IteratableChecksumValidator.cc
	* src/IteratableChunkChecksumValidator.cc
	* src/MessageDigestHelper.cc
	* src/Platform.cc
	* src/RequestGroupMan.cc
	* src/SingleFileAllocationIterator.cc
	* src/Sqlite3MozCookieParser.cc
	* src/XML2SAXMetalinkProcessor.cc
	* src/Xml2XmlRpcRequestProcessor.cc
	* src/util.cc
	* src/util.h
pull/1/head
Tatsuhiro Tsujikawa 2009-11-15 12:55:50 +00:00
parent 2923682aa6
commit 309d292831
20 changed files with 78 additions and 37 deletions

View File

@ -1,3 +1,26 @@
2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use C++ style cast
* src/AsyncNameResolver.cc
* src/Base64.h
* src/BtBitfieldMessage.cc
* src/BtHandshakeMessage.cc
* src/DefaultBtMessageFactory.cc
* src/DefaultBtProgressInfoFile.cc
* src/EpollEventPoll.cc
* src/ExpatMetalinkProcessor.cc
* src/IteratableChecksumValidator.cc
* src/IteratableChunkChecksumValidator.cc
* src/MessageDigestHelper.cc
* src/Platform.cc
* src/RequestGroupMan.cc
* src/SingleFileAllocationIterator.cc
* src/Sqlite3MozCookieParser.cc
* src/XML2SAXMetalinkProcessor.cc
* src/Xml2XmlRpcRequestProcessor.cc
* src/util.cc
* src/util.h
2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> 2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed integer potential alignment problem. Fixed integer potential alignment problem.

View File

@ -95,7 +95,9 @@ void AsyncNameResolver::process(fd_set* rfdsPtr, fd_set* wfdsPtr)
int AsyncNameResolver::getsock(sock_t* sockets) const int AsyncNameResolver::getsock(sock_t* sockets) const
{ {
return ares_getsock(channel, (int *) sockets, ARES_GETSOCK_MAXNUM); // TODO cast to int* might cause problem with Windows SOCKET?
return ares_getsock(channel, reinterpret_cast<int*>(sockets),
ARES_GETSOCK_MAXNUM);
} }
void AsyncNameResolver::process(ares_socket_t readfd, ares_socket_t writefd) void AsyncNameResolver::process(ares_socket_t readfd, ares_socket_t writefd)

View File

@ -64,7 +64,8 @@ public:
static void encode(unsigned char*& result, size_t& rlength, static void encode(unsigned char*& result, size_t& rlength,
const char* src, size_t slength) const char* src, size_t slength)
{ {
encode(result, rlength, (const unsigned char*)src, slength); encode(result, rlength, reinterpret_cast<const unsigned char*>(src),
slength);
} }
static std::string encode(const std::string& s); static std::string encode(const std::string& s);
@ -84,7 +85,8 @@ public:
static void decode(unsigned char*& result, size_t& rlength, static void decode(unsigned char*& result, size_t& rlength,
const char* src, size_t slength) const char* src, size_t slength)
{ {
decode(result, rlength, (const unsigned char*)src, slength); decode(result, rlength, reinterpret_cast<const unsigned char*>(src),
slength);
} }
static std::string decode(const std::string& s); static std::string decode(const std::string& s);

View File

@ -66,7 +66,7 @@ BtBitfieldMessage::create(const unsigned char* data, size_t dataLength)
bittorrent::assertPayloadLengthGreater(1,dataLength, NAME); bittorrent::assertPayloadLengthGreater(1,dataLength, NAME);
bittorrent::assertID(ID, data, NAME); bittorrent::assertID(ID, data, NAME);
BtBitfieldMessageHandle message(new BtBitfieldMessage()); BtBitfieldMessageHandle message(new BtBitfieldMessage());
message->setBitfield((unsigned char*)data+1, dataLength-1); message->setBitfield(data+1, dataLength-1);
return message; return message;
} }

View File

@ -45,7 +45,7 @@ namespace aria2 {
const std::string BtHandshakeMessage::NAME("handshake"); const std::string BtHandshakeMessage::NAME("handshake");
const unsigned char* BtHandshakeMessage::BT_PSTR = const unsigned char* BtHandshakeMessage::BT_PSTR =
(const unsigned char*)"BitTorrent protocol"; reinterpret_cast<const unsigned char*>("BitTorrent protocol");
BtHandshakeMessage::BtHandshakeMessage():SimpleBtMessage(ID, NAME) BtHandshakeMessage::BtHandshakeMessage():SimpleBtMessage(ID, NAME)
{ {

View File

@ -112,7 +112,7 @@ DefaultBtMessageFactory::createBtMessage(const unsigned char* data, size_t dataL
msg = BtHaveMessage::create(data, dataLength); msg = BtHaveMessage::create(data, dataLength);
{ {
SharedHandle<BtMessageValidator> v SharedHandle<BtMessageValidator> v
(new IndexBtMessageValidator((BtHaveMessage*)msg.get(), (new IndexBtMessageValidator(static_cast<BtHaveMessage*>(msg.get()),
_downloadContext->getNumPieces())); _downloadContext->getNumPieces()));
msg->setBtMessageValidator(v); msg->setBtMessageValidator(v);
} }
@ -121,8 +121,9 @@ DefaultBtMessageFactory::createBtMessage(const unsigned char* data, size_t dataL
msg = BtBitfieldMessage::create(data, dataLength); msg = BtBitfieldMessage::create(data, dataLength);
{ {
SharedHandle<BtMessageValidator> v SharedHandle<BtMessageValidator> v
(new BtBitfieldMessageValidator((BtBitfieldMessage*)msg.get(), (new BtBitfieldMessageValidator
_downloadContext->getNumPieces())); (static_cast<BtBitfieldMessage*>(msg.get()),
_downloadContext->getNumPieces()));
msg->setBtMessageValidator(v); msg->setBtMessageValidator(v);
} }
break; break;

View File

@ -228,7 +228,7 @@ void DefaultBtProgressInfoFile::load()
_filename.c_str(), strerror(errno)).str()); _filename.c_str(), strerror(errno)).str());
} }
unsigned char versionBuf[2]; unsigned char versionBuf[2];
in.read((char*)versionBuf, sizeof(versionBuf)); in.read(reinterpret_cast<char*>(versionBuf), sizeof(versionBuf));
CHECK_STREAM(in, sizeof(versionBuf)); CHECK_STREAM(in, sizeof(versionBuf));
std::string versionHex = util::toHex(versionBuf, sizeof(versionBuf)); std::string versionHex = util::toHex(versionBuf, sizeof(versionBuf));
int version; int version;
@ -242,7 +242,7 @@ void DefaultBtProgressInfoFile::load()
versionHex.c_str()).str()); versionHex.c_str()).str());
} }
unsigned char extension[4]; unsigned char extension[4];
in.read((char*)extension, sizeof(extension)); in.read(reinterpret_cast<char*>(extension), sizeof(extension));
CHECK_STREAM(in, sizeof(extension)); CHECK_STREAM(in, sizeof(extension));
bool infoHashCheckEnabled = false; bool infoHashCheckEnabled = false;
if(extension[3]&1 && isTorrentDownload()) { if(extension[3]&1 && isTorrentDownload()) {

View File

@ -331,7 +331,7 @@ void EpollEventPoll::poll(const struct timeval& tv)
if(res > 0) { if(res > 0) {
for(int i = 0; i < res; ++i) { for(int i = 0; i < res; ++i) {
SocketEntry* p = (SocketEntry*)_epEvents[i].data.ptr; SocketEntry* p = reinterpret_cast<SocketEntry*>(_epEvents[i].data.ptr);
p->processEvents(_epEvents[i].events); p->processEvents(_epEvents[i].events);
} }
} }

View File

@ -122,7 +122,8 @@ MetalinkProcessor::parseFromBinaryStream(const SharedHandle<BinaryStream>& binar
if(res == 0) { if(res == 0) {
break; break;
} }
if(XML_Parse(parser, (const char*)buf, res, 0) == XML_STATUS_ERROR) { if(XML_Parse(parser, reinterpret_cast<const char*>(buf), res, 0) ==
XML_STATUS_ERROR) {
throw DL_ABORT_EX(MSG_CANNOT_PARSE_METALINK); throw DL_ABORT_EX(MSG_CANNOT_PARSE_METALINK);
} }
readOffset += res; readOffset += res;

View File

@ -79,7 +79,7 @@ void IteratableChecksumValidator::validateChunk()
_ctx->digestUpdate(_buffer, length); _ctx->digestUpdate(_buffer, length);
_currentOffset += length; _currentOffset += length;
if(finished()) { if(finished()) {
std::string actualChecksum = util::toHex((const unsigned char*)_ctx->digestFinal().c_str(), _ctx->digestLength()); std::string actualChecksum = util::toHex(_ctx->digestFinal());
if(_dctx->getChecksum() == actualChecksum) { if(_dctx->getChecksum() == actualChecksum) {
_pieceStorage->markAllPiecesDone(); _pieceStorage->markAllPiecesDone();
} else { } else {
@ -109,7 +109,8 @@ void IteratableChecksumValidator::init()
{ {
#ifdef HAVE_POSIX_MEMALIGN #ifdef HAVE_POSIX_MEMALIGN
free(_buffer); free(_buffer);
_buffer = (unsigned char*)util::allocateAlignedMemory(ALIGNMENT, BUFSIZE); _buffer = reinterpret_cast<unsigned char*>
(util::allocateAlignedMemory(ALIGNMENT, BUFSIZE));
#else // !HAVE_POSIX_MEMALIGN #else // !HAVE_POSIX_MEMALIGN
delete [] _buffer; delete [] _buffer;
_buffer = new unsigned char[BUFSIZE]; _buffer = new unsigned char[BUFSIZE];

View File

@ -122,7 +122,8 @@ void IteratableChunkChecksumValidator::init()
{ {
#ifdef HAVE_POSIX_MEMALIGN #ifdef HAVE_POSIX_MEMALIGN
free(_buffer); free(_buffer);
_buffer = (unsigned char*)util::allocateAlignedMemory(ALIGNMENT, BUFSIZE); _buffer = reinterpret_cast<unsigned char*>
(util::allocateAlignedMemory(ALIGNMENT, BUFSIZE));
#else // !HAVE_POSIX_MEMALIGN #else // !HAVE_POSIX_MEMALIGN
delete [] _buffer; delete [] _buffer;
_buffer = new unsigned char[BUFSIZE]; _buffer = new unsigned char[BUFSIZE];
@ -166,7 +167,7 @@ std::string IteratableChunkChecksumValidator::digest(off_t offset, size_t length
curoffset += r; curoffset += r;
woffset = 0; woffset = 0;
} }
return util::toHex((const unsigned char*)_ctx->digestFinal().c_str(), _ctx->digestLength()); return util::toHex(_ctx->digestFinal());
} }

View File

@ -106,7 +106,7 @@ std::string MessageDigestHelper::digest(MessageDigestContext* ctx,
ctx->digestUpdate(BUF, readLength); ctx->digestUpdate(BUF, readLength);
} }
std::string rawMD = ctx->digestFinal(); std::string rawMD = ctx->digestFinal();
return util::toHex((const unsigned char*)rawMD.c_str(), rawMD.size()); return util::toHex(rawMD);
} }
std::string MessageDigestHelper::digest(const std::string& algo, const std::string& filename) std::string MessageDigestHelper::digest(const std::string& algo, const std::string& filename)
@ -123,7 +123,7 @@ std::string MessageDigestHelper::digest(const std::string& algo, const void* dat
ctx.digestInit(); ctx.digestInit();
ctx.digestUpdate(data, length); ctx.digestUpdate(data, length);
std::string rawMD = ctx.digestFinal(); std::string rawMD = ctx.digestFinal();
return util::toHex((const unsigned char*)rawMD.c_str(), rawMD.size()); return util::toHex(rawMD);
} }
void MessageDigestHelper::digest(unsigned char* md, size_t mdLength, void MessageDigestHelper::digest(unsigned char* md, size_t mdLength,

View File

@ -100,7 +100,7 @@ bool Platform::setUp()
#ifdef HAVE_WINSOCK2_H #ifdef HAVE_WINSOCK2_H
WSADATA wsaData; WSADATA wsaData;
memset((char*)&wsaData, 0, sizeof(wsaData)); memset(reinterpret_cast<char*>(&wsaData), 0, sizeof(wsaData));
if (WSAStartup(MAKEWORD(1, 1), &wsaData)) { if (WSAStartup(MAKEWORD(1, 1), &wsaData)) {
throw DL_ABORT_EX(MSG_WINSOCK_INIT_FAILD); throw DL_ABORT_EX(MSG_WINSOCK_INIT_FAILD);
} }

View File

@ -204,7 +204,8 @@ static void executeHook(const std::string& command, int gid)
LogFactory::getInstance()->error("fork() failed." LogFactory::getInstance()->error("fork() failed."
" Cannot execute user command."); " Cannot execute user command.");
} else if(cpid == 0) { } else if(cpid == 0) {
execl(command.c_str(), command.c_str(), util::itos(gid).c_str(), (char*)0); execl(command.c_str(), command.c_str(), util::itos(gid).c_str(),
reinterpret_cast<char*>(0));
perror(("Could not execute user command: "+command).c_str()); perror(("Could not execute user command: "+command).c_str());
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }

View File

@ -63,7 +63,8 @@ SingleFileAllocationIterator::~SingleFileAllocationIterator()
void SingleFileAllocationIterator::init() void SingleFileAllocationIterator::init()
{ {
#ifdef HAVE_POSIX_MEMALIGN #ifdef HAVE_POSIX_MEMALIGN
_buffer = (unsigned char*)util::allocateAlignedMemory(ALIGNMENT, BUFSIZE); _buffer = reinterpret_cast<unsigned char*>
(util::allocateAlignedMemory(ALIGNMENT, BUFSIZE));
#else #else
_buffer = new unsigned char[BUFSIZE]; _buffer = new unsigned char[BUFSIZE];
#endif // HAVE_POSIX_MEMALIGN #endif // HAVE_POSIX_MEMALIGN

View File

@ -80,7 +80,7 @@ static int cookieRowMapper(void* data, int rowIndex,
); );
if(c.good()) { if(c.good()) {
((std::deque<Cookie>*)data)->push_back(c); reinterpret_cast<std::deque<Cookie>*>(data)->push_back(c);
} }
} catch(RecoverableException& e) { } catch(RecoverableException& e) {
//failed to parse expiry. //failed to parse expiry.

View File

@ -59,15 +59,17 @@ static void mlStartElement(void* userData, const xmlChar* name, const xmlChar**
if(attrs) { if(attrs) {
const xmlChar** p = attrs; const xmlChar** p = attrs;
while(*p != 0) { while(*p != 0) {
std::string name = (const char*)*p++; std::string name = reinterpret_cast<const char*>(*p);
++p;
if(*p == 0) { if(*p == 0) {
break; break;
} }
std::string value = util::trim((const char*)*p++); std::string value = util::trim(reinterpret_cast<const char*>(*p));
++p;
attrmap[name] = value; attrmap[name] = value;
} }
} }
sd->_stm->beginElement((const char*)name, attrmap); sd->_stm->beginElement(reinterpret_cast<const char*>(name), attrmap);
if(sd->_stm->needsCharactersBuffering()) { if(sd->_stm->needsCharactersBuffering()) {
sd->_charactersStack.push_front(std::string()); sd->_charactersStack.push_front(std::string());
} }
@ -81,7 +83,7 @@ static void mlEndElement(void* userData, const xmlChar* name)
characters = util::trim(sd->_charactersStack.front()); characters = util::trim(sd->_charactersStack.front());
sd->_charactersStack.pop_front(); sd->_charactersStack.pop_front();
} }
sd->_stm->endElement((const char*)name, characters); sd->_stm->endElement(reinterpret_cast<const char*>(name), characters);
} }
static void mlCharacters(void* userData, const xmlChar* ch, int len) static void mlCharacters(void* userData, const xmlChar* ch, int len)
@ -154,7 +156,9 @@ MetalinkProcessor::parseFromBinaryStream(const SharedHandle<BinaryStream>& binar
} }
SharedHandle<SessionData> sessionData(new SessionData(_stm)); SharedHandle<SessionData> sessionData(new SessionData(_stm));
xmlParserCtxtPtr ctx = xmlCreatePushParserCtxt(&mySAXHandler, sessionData.get(), (const char*)buf, res, 0); xmlParserCtxtPtr ctx = xmlCreatePushParserCtxt
(&mySAXHandler, sessionData.get(),
reinterpret_cast<const char*>(buf), res, 0);
try { try {
off_t readOffset = res; off_t readOffset = res;
while(1) { while(1) {
@ -162,12 +166,12 @@ MetalinkProcessor::parseFromBinaryStream(const SharedHandle<BinaryStream>& binar
if(res == 0) { if(res == 0) {
break; break;
} }
if(xmlParseChunk(ctx, (const char*)buf, res, 0) != 0) { if(xmlParseChunk(ctx, reinterpret_cast<const char*>(buf), res, 0) != 0) {
throw DL_ABORT_EX(MSG_CANNOT_PARSE_METALINK); throw DL_ABORT_EX(MSG_CANNOT_PARSE_METALINK);
} }
readOffset += res; readOffset += res;
} }
xmlParseChunk(ctx, (const char*)buf, 0, 1); xmlParseChunk(ctx, reinterpret_cast<const char*>(buf), 0, 1);
} catch(Exception& e) { } catch(Exception& e) {
xmlFreeParserCtxt(ctx); xmlFreeParserCtxt(ctx);
throw; throw;

View File

@ -63,15 +63,17 @@ static void mlStartElement(void* userData, const xmlChar* name,
if(attrs) { if(attrs) {
const xmlChar** p = attrs; const xmlChar** p = attrs;
while(*p != 0) { while(*p != 0) {
std::string name = (const char*)*p++; std::string name = reinterpret_cast<const char*>(*p);
++p;
if(*p == 0) { if(*p == 0) {
break; break;
} }
std::string value = util::trim((const char*)*p++); std::string value = util::trim(reinterpret_cast<const char*>(*p));
++p;
attrmap[name] = value; attrmap[name] = value;
} }
} }
sd->_stm->beginElement((const char*)name, attrmap); sd->_stm->beginElement(reinterpret_cast<const char*>(name), attrmap);
if(sd->_stm->needsCharactersBuffering()) { if(sd->_stm->needsCharactersBuffering()) {
sd->_charactersStack.push(std::string()); sd->_charactersStack.push(std::string());
} }
@ -85,7 +87,7 @@ static void mlEndElement(void* userData, const xmlChar* name)
characters = util::trim(sd->_charactersStack.top()); characters = util::trim(sd->_charactersStack.top());
sd->_charactersStack.pop(); sd->_charactersStack.pop();
} }
sd->_stm->endElement((const char*)name, characters); sd->_stm->endElement(reinterpret_cast<const char*>(name), characters);
} }
static void mlCharacters(void* userData, const xmlChar* ch, int len) static void mlCharacters(void* userData, const xmlChar* ch, int len)

View File

@ -234,7 +234,8 @@ std::string urlencode(const unsigned char* target, size_t len) {
std::string urlencode(const std::string& target) std::string urlencode(const std::string& target)
{ {
return urlencode((const unsigned char*)target.c_str(), target.size()); return urlencode(reinterpret_cast<const unsigned char*>(target.c_str()),
target.size());
} }
std::string torrentUrlencode(const unsigned char* target, size_t len) { std::string torrentUrlencode(const unsigned char* target, size_t len) {
@ -763,7 +764,8 @@ std::string toString(const BinaryStreamHandle& binaryStream)
std::stringstream strm; std::stringstream strm;
char data[2048]; char data[2048];
while(1) { while(1) {
int32_t dataLength = binaryStream->readData((unsigned char*)data, sizeof(data), strm.tellp()); int32_t dataLength = binaryStream->readData
(reinterpret_cast<unsigned char*>(data), sizeof(data), strm.tellp());
strm.write(data, dataLength); strm.write(data, dataLength);
if(dataLength == 0) { if(dataLength == 0) {
break; break;

View File

@ -62,8 +62,8 @@ class BitfieldMan;
class BinaryStream; class BinaryStream;
class FileEntry; class FileEntry;
#define STRTOLL(X) strtoll(X, (char**)0, 10) #define STRTOLL(X) strtoll(X, reinterpret_cast<char**>(0), 10)
#define STRTOULL(X) strtoull(X, (char**)0, 10) #define STRTOULL(X) strtoull(X, reinterpret_cast<char**>(0), 10)
#define START_INDEX(OFFSET, PIECE_LENGTH) ((OFFSET)/(PIECE_LENGTH)) #define START_INDEX(OFFSET, PIECE_LENGTH) ((OFFSET)/(PIECE_LENGTH))
#define END_INDEX(OFFSET, LENGTH, PIECE_LENGTH) (((OFFSET)+(LENGTH)-1)/(PIECE_LENGTH)) #define END_INDEX(OFFSET, LENGTH, PIECE_LENGTH) (((OFFSET)+(LENGTH)-1)/(PIECE_LENGTH))