X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FClientSocketHandle.ct;h=50c80a81ba6c12d0a2ba613ee2a2c5855956bd61;hb=be850b3a668390421f62baf542c2a7b7e984386f;hp=1e7fa7b93dcca55316ad338d8ccdd846875566fa;hpb=c52cd7d87dbb525c1267aad27391b8b7365dbb57;p=senf.git diff --git a/Socket/ClientSocketHandle.ct b/Socket/ClientSocketHandle.ct index 1e7fa7b..50c80a8 100644 --- a/Socket/ClientSocketHandle.ct +++ b/Socket/ClientSocketHandle.ct @@ -30,17 +30,19 @@ ///////////////////////////////ct.p//////////////////////////////////////// template -prefix_ std::string satcom::lib::ClientSocketHandle::read() +prefix_ std::string satcom::lib::ClientSocketHandle::read(unsigned limit) { std::string rv; - this->read(rv); + this->read(rv,limit); return rv; } template -prefix_ void satcom::lib::ClientSocketHandle::read(std::string & buffer) +prefix_ void satcom::lib::ClientSocketHandle::read(std::string & buffer, unsigned limit) { unsigned nread = available(); + if (limit>0 && nread>limit) + nread = limit; // FIXME: This is not necessary correct and more or less a hack ... buffer.assign(nread,0); unsigned rv = this->read(const_cast(buffer.data()),nread);