mirror of https://github.com/aria2/aria2
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten util::toHex(). * src/util.ccpull/1/head
parent
65b9af6e09
commit
ca54ff894e
|
@ -1,3 +1,8 @@
|
||||||
|
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
|
Rewritten util::toHex().
|
||||||
|
* src/util.cc
|
||||||
|
|
||||||
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
Removed SocketBuffer::feedAndSend(). Renamed
|
Removed SocketBuffer::feedAndSend(). Renamed
|
||||||
|
|
22
src/util.cc
22
src/util.cc
|
@ -323,14 +323,22 @@ std::string urldecode(const std::string& target) {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string toHex(const unsigned char* src, size_t len) {
|
std::string toHex(const unsigned char* src, size_t len) {
|
||||||
char* temp = new char[len*2+1];
|
std::string out(len*2, '\0');
|
||||||
for(size_t i = 0; i < len; ++i) {
|
std::string::iterator o = out.begin();
|
||||||
sprintf(temp+i*2, "%02x", src[i]);
|
const unsigned char* last = src+len;
|
||||||
|
for(const unsigned char* i = src; i != last; ++i) {
|
||||||
|
*o = (*i >> 4);
|
||||||
|
*(o+1) = (*i)&0x0f;
|
||||||
|
for(int j = 0; j < 2; ++j) {
|
||||||
|
if(*o < 10) {
|
||||||
|
*o += '0';
|
||||||
|
} else {
|
||||||
|
*o += 'a'-10;
|
||||||
|
}
|
||||||
|
++o;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
temp[len*2] = '\0';
|
return out;
|
||||||
std::string hex = temp;
|
|
||||||
delete [] temp;
|
|
||||||
return hex;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string toHex(const char* src, size_t len)
|
std::string toHex(const char* src, size_t len)
|
||||||
|
|
Loading…
Reference in New Issue