Fix win32 somewhat?
This commit is contained in:
@ -31,7 +31,11 @@ namespace Tesses::Framework::Streams {
|
||||
{
|
||||
if(this->offset < this->read)
|
||||
{
|
||||
#if defined(_WIN32)
|
||||
sz = min(sz,this->read-this->offset);
|
||||
#else
|
||||
sz = std::min(sz,this->read-this->offset);
|
||||
#endif
|
||||
memcpy(buff, this->buffer+this->offset, sz);
|
||||
this->offset+=sz;
|
||||
return sz;
|
||||
@ -40,8 +44,11 @@ namespace Tesses::Framework::Streams {
|
||||
{
|
||||
this->read = this->strm->Read(this->buffer, this->bufferSize);
|
||||
this->offset=0;
|
||||
|
||||
#if defined(_WIN32)
|
||||
sz = min(sz,this->read-this->offset);
|
||||
#else
|
||||
sz = std::min(sz,this->read-this->offset);
|
||||
#endif
|
||||
memcpy(buff, this->buffer+this->offset, sz);
|
||||
this->offset+=sz;
|
||||
return sz;
|
||||
|
||||
@ -14,7 +14,11 @@ namespace Tesses::Framework::Streams
|
||||
size_t MemoryStream::Read(uint8_t* buff, size_t sz)
|
||||
{
|
||||
if(this->offset >= this->buffer.size()) return 0;
|
||||
#if defined(_WIN32)
|
||||
size_t toRead = min(sz, this->buffer.size()-this->offset);
|
||||
#else
|
||||
size_t toRead = std::min(sz, this->buffer.size()-this->offset);
|
||||
#endif
|
||||
memcpy(buff, this->buffer.data() + this->offset, toRead);
|
||||
this->offset += toRead;
|
||||
return toRead;
|
||||
|
||||
@ -498,7 +498,7 @@ namespace Tesses::Framework::Streams {
|
||||
{
|
||||
|
||||
if(!this->success) return 0;
|
||||
ssize_t r = NETWORK_RECV(this->sock,(char*)buff,sz,0);
|
||||
auto r = NETWORK_RECV(this->sock,(char*)buff,sz,0);
|
||||
|
||||
if(r <= 0)
|
||||
{
|
||||
@ -513,7 +513,7 @@ namespace Tesses::Framework::Streams {
|
||||
|
||||
if(!this->success) return 0;
|
||||
|
||||
ssize_t sz2 = NETWORK_SEND(this->sock,(const char*)buff,sz, 0);
|
||||
auto sz2 = NETWORK_SEND(this->sock,(const char*)buff,sz, 0);
|
||||
if(sz2 <= 0) {
|
||||
this->endOfStream=true;
|
||||
return 0;
|
||||
@ -526,7 +526,7 @@ namespace Tesses::Framework::Streams {
|
||||
if(!this->success) return 0;
|
||||
struct sockaddr_storage storage;
|
||||
socklen_t addrlen=(socklen_t)sizeof(storage);
|
||||
ssize_t r = NETWORK_RECVFROM(this->sock,(char*)buff,sz,0, (struct sockaddr*)&storage, (socklen_t*)&addrlen);
|
||||
auto r = NETWORK_RECVFROM(this->sock,(char*)buff,sz,0, (struct sockaddr*)&storage, (socklen_t*)&addrlen);
|
||||
ip = StringifyIP((struct sockaddr*)&storage);
|
||||
port = GetPort((struct sockaddr*)&storage);
|
||||
if(r < 0) return 0;
|
||||
@ -555,7 +555,7 @@ namespace Tesses::Framework::Streams {
|
||||
}
|
||||
|
||||
SetPort((struct sockaddr*)&addr, port);
|
||||
ssize_t sz2 = NETWORK_SENDTO(this->sock,(const char*)buff,sz, 0, (const sockaddr*)&addr, (socklen_t)sizeof(addr));
|
||||
auto sz2 = NETWORK_SENDTO(this->sock,(const char*)buff,sz, 0, (const sockaddr*)&addr, (socklen_t)sizeof(addr));
|
||||
if(sz2 < 0) return 0;
|
||||
return (size_t)sz2;
|
||||
}
|
||||
|
||||
@ -100,13 +100,22 @@ namespace Tesses::Framework::Streams {
|
||||
void Stream::CopyTo(Stream& strm, size_t buffSize)
|
||||
{
|
||||
size_t read;
|
||||
#if defined(_WIN32)
|
||||
uint8_t* buffer = new uint8_t[buffSize];
|
||||
#else
|
||||
|
||||
uint8_t buffer[buffSize];
|
||||
#endif
|
||||
do {
|
||||
read = this->Read(buffer,buffSize);
|
||||
strm.WriteBlock(buffer, read);
|
||||
|
||||
} while(read > 0);
|
||||
strm.Flush();
|
||||
|
||||
#if defined(_WIN32)
|
||||
delete buffer;
|
||||
#endif
|
||||
}
|
||||
Stream::~Stream()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user