Don't try to send empty string. * src/SocketBuffer.cc * src/SocketBuffer.h
@@ -1,3 +1,9 @@
+2010-08-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
+
+ Don't try to send empty string.
+ * src/SocketBuffer.cc
+ * src/SocketBuffer.h
2010-08-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Listen both IPv4 and IPv6 for BitTorrent protocol.
@@ -68,6 +68,11 @@ ssize_t SocketBuffer::send()
size_t totalslen = 0;
while(!bufq_.empty()) {
BufEntry& buf = bufq_[0];
+ if(buf.size() == 0) {
+ buf.deleteBuf();
+ bufq_.pop_front();
+ continue;
+ }
const char* data;
ssize_t r;
if(buf.type == TYPE_BYTES) {
@@ -66,7 +66,16 @@ private:
delete str;
}
-
+ size_t size() const
+ {
+ if(type == TYPE_BYTES) {
+ return bytesLen;
+ } else {
+ return str->size();
BufEntry(unsigned char* bytes, size_t len):
type(TYPE_BYTES), bytes(bytes), bytesLen(len) {}