Fix win32 somewhat?
This commit is contained in:
@ -52,7 +52,7 @@ option(TESSESFRAMEWORK_ENABLE_APPS "Enable Tesses Framework cli apps" ON)
|
|||||||
option(TESSESFRAMEWORK_INSTALL_DEVELOPMENT "Enable Installing Tesses Framework Development Packages" ON)
|
option(TESSESFRAMEWORK_INSTALL_DEVELOPMENT "Enable Installing Tesses Framework Development Packages" ON)
|
||||||
option(TESSESFRAMEWORK_ENABLE_STATIC "Enable Tesses Framework Static Libraries" ON)
|
option(TESSESFRAMEWORK_ENABLE_STATIC "Enable Tesses Framework Static Libraries" ON)
|
||||||
option(TESSESFRAMEWORK_ENABLE_SHARED "Enable Tesses Framework Shared Libraries" ON)
|
option(TESSESFRAMEWORK_ENABLE_SHARED "Enable Tesses Framework Shared Libraries" ON)
|
||||||
option(TESSESFRAMEWORK_LOGTOFILE "TessesFramework Log to file" ON)
|
option(TESSESFRAMEWORK_LOGTOFILE "TessesFramework Log to file" OFF)
|
||||||
|
|
||||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include)
|
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include)
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,11 @@ namespace Tesses::Framework::Filesystem
|
|||||||
{
|
{
|
||||||
if(!this->canRead) return 0;
|
if(!this->canRead) return 0;
|
||||||
if(this->pos >= this->data->file.size()) return 0;
|
if(this->pos >= this->data->file.size()) return 0;
|
||||||
|
#if defined(_WIN32)
|
||||||
|
size_t toRead = min(sz, (size_t)(this->data->file.size()-this->pos));
|
||||||
|
#else
|
||||||
size_t toRead = std::min(sz, (size_t)(this->data->file.size()-this->pos));
|
size_t toRead = std::min(sz, (size_t)(this->data->file.size()-this->pos));
|
||||||
|
#endif
|
||||||
memcpy(buff, this->data->file.data() + this->pos, toRead);
|
memcpy(buff, this->data->file.data() + this->pos, toRead);
|
||||||
|
|
||||||
this->pos += toRead;
|
this->pos += toRead;
|
||||||
|
|||||||
@ -107,7 +107,11 @@ namespace Tesses::Framework::Http
|
|||||||
uint8_t finField = fin ? 0b10000000 : 0;
|
uint8_t finField = fin ? 0b10000000 : 0;
|
||||||
uint8_t opcode2 = i == 0 ? opcode : 0;
|
uint8_t opcode2 = i == 0 ? opcode : 0;
|
||||||
uint8_t firstByte = finField | (opcode2 & 0xF);
|
uint8_t firstByte = finField | (opcode2 & 0xF);
|
||||||
|
#if defined(_WIN32)
|
||||||
|
size_t len = min((size_t)4096,msg->data.size() - offset);
|
||||||
|
#else
|
||||||
size_t len = std::min((size_t)4096,msg->data.size()- offset);
|
size_t len = std::min((size_t)4096,msg->data.size()- offset);
|
||||||
|
#endif
|
||||||
strm->WriteByte(firstByte);
|
strm->WriteByte(firstByte);
|
||||||
write_len_bytes((uint64_t)len);
|
write_len_bytes((uint64_t)len);
|
||||||
strm->WriteBlock(msg->data.data() + offset,len);
|
strm->WriteBlock(msg->data.data() + offset,len);
|
||||||
@ -368,7 +372,11 @@ namespace Tesses::Framework::Http
|
|||||||
static bool parseUntillBoundaryEnd(Tesses::Framework::Streams::Stream* src, Tesses::Framework::Streams::Stream* dest, std::string boundary)
|
static bool parseUntillBoundaryEnd(Tesses::Framework::Streams::Stream* src, Tesses::Framework::Streams::Stream* dest, std::string boundary)
|
||||||
{
|
{
|
||||||
bool hasMore=true;
|
bool hasMore=true;
|
||||||
|
#if defined(_WIN32)
|
||||||
|
uint8_t* checkBuffer = new uint8_t[boundary.size()];
|
||||||
|
#else
|
||||||
uint8_t checkBuffer[boundary.size()];
|
uint8_t checkBuffer[boundary.size()];
|
||||||
|
#endif
|
||||||
int b;
|
int b;
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
size_t i2 = 0;
|
size_t i2 = 0;
|
||||||
@ -432,6 +440,9 @@ namespace Tesses::Framework::Http
|
|||||||
{
|
{
|
||||||
dest->Write(buffer,offsetInMem);
|
dest->Write(buffer,offsetInMem);
|
||||||
}
|
}
|
||||||
|
#if defined(_WIN32)
|
||||||
|
delete checkBuffer;
|
||||||
|
#endif
|
||||||
return hasMore;
|
return hasMore;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -567,16 +578,16 @@ namespace Tesses::Framework::Http
|
|||||||
});
|
});
|
||||||
TF_LOG("Before printing interfaces");
|
TF_LOG("Before printing interfaces");
|
||||||
|
|
||||||
std::cout << "\e[34mInterfaces:\n";
|
std::cout << "\x1B[34mInterfaces:\n";
|
||||||
for(auto _ip : NetworkStream::GetIPs())
|
for(auto _ip : NetworkStream::GetIPs())
|
||||||
{
|
{
|
||||||
std::cout << "\e[32m";
|
std::cout << "\x1B[32m";
|
||||||
std::cout << _ip.first << ": ";
|
std::cout << _ip.first << ": ";
|
||||||
std::cout << "\e[35mhttp://";
|
std::cout << "\x1B[35mhttp://";
|
||||||
std::cout << _ip.second << ":" << std::to_string(this->port) << "/\n";
|
std::cout << _ip.second << ":" << std::to_string(this->port) << "/\n";
|
||||||
}
|
}
|
||||||
if(!svr->IsValid()) std::cout << "\e[31mError, we failed to bind or something\e[39m\n" << std::endl;
|
if(!svr->IsValid()) std::cout << "\x1B[31mError, we failed to bind or something\x1B[39m\n" << std::endl;
|
||||||
std::cout << "\e[31mAlmost Ready to Listen\e[39m\n";
|
std::cout << "\x1B[31mAlmost Ready to Listen\x1B[39m\n";
|
||||||
TF_LOG("After printing interfaces");
|
TF_LOG("After printing interfaces");
|
||||||
}
|
}
|
||||||
HttpServer::~HttpServer()
|
HttpServer::~HttpServer()
|
||||||
|
|||||||
@ -57,7 +57,11 @@ namespace Tesses::Framework::Http
|
|||||||
if(this->length == 0) return 0;
|
if(this->length == 0) return 0;
|
||||||
if(this->length > 0)
|
if(this->length > 0)
|
||||||
{
|
{
|
||||||
|
#if defined(_WIN32)
|
||||||
|
len = min((size_t)(this->length - this->position), len);
|
||||||
|
#else
|
||||||
len = std::min((size_t)(this->length - this->position), len);
|
len = std::min((size_t)(this->length - this->position), len);
|
||||||
|
#endif
|
||||||
if(len > 0)
|
if(len > 0)
|
||||||
len = this->strm->Read(buff,len);
|
len = this->strm->Read(buff,len);
|
||||||
this->position += len;
|
this->position += len;
|
||||||
@ -69,7 +73,11 @@ namespace Tesses::Framework::Http
|
|||||||
{
|
{
|
||||||
if(this->offset < this->read)
|
if(this->offset < this->read)
|
||||||
{
|
{
|
||||||
|
#if defined(_WIN32)
|
||||||
|
len = min((size_t)(this->read - this->offset), len);
|
||||||
|
#else
|
||||||
len = std::min((size_t)(this->read - this->offset), len);
|
len = std::min((size_t)(this->read - this->offset), len);
|
||||||
|
#endif
|
||||||
if(len > 0)
|
if(len > 0)
|
||||||
len = this->strm->Read(buff,len);
|
len = this->strm->Read(buff,len);
|
||||||
this->offset += len;
|
this->offset += len;
|
||||||
@ -99,8 +107,12 @@ namespace Tesses::Framework::Http
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->offset=0;
|
this->offset=0;
|
||||||
|
#if defined(_WIN32)
|
||||||
|
|
||||||
|
len = min((size_t)(this->read - this->offset), len);
|
||||||
|
#else
|
||||||
len = std::min((size_t)(this->read - this->offset), len);
|
len = std::min((size_t)(this->read - this->offset), len);
|
||||||
|
#endif
|
||||||
if(len > 0)
|
if(len > 0)
|
||||||
len = this->strm->Read(buff,len);
|
len = this->strm->Read(buff,len);
|
||||||
this->offset += len;
|
this->offset += len;
|
||||||
@ -124,7 +136,11 @@ namespace Tesses::Framework::Http
|
|||||||
if(this->length == 0) return 0;
|
if(this->length == 0) return 0;
|
||||||
if(this->length > 0)
|
if(this->length > 0)
|
||||||
{
|
{
|
||||||
|
#if defined(_WIN32)
|
||||||
|
len = min((size_t)(this->length - this->position), len);
|
||||||
|
#else
|
||||||
len = std::min((size_t)(this->length - this->position), len);
|
len = std::min((size_t)(this->length - this->position), len);
|
||||||
|
#endif
|
||||||
if(len > 0)
|
if(len > 0)
|
||||||
len = this->strm->Write(buff,len);
|
len = this->strm->Write(buff,len);
|
||||||
this->position += len;
|
this->position += len;
|
||||||
|
|||||||
@ -13,7 +13,11 @@ namespace Tesses::Framework::Mail
|
|||||||
size_t offset = 0;
|
size_t offset = 0;
|
||||||
do {
|
do {
|
||||||
if(!first) myStr.append("\r\n");
|
if(!first) myStr.append("\r\n");
|
||||||
|
#if defined(_WIN32)
|
||||||
|
read = min<size_t>(72, txt.size()-offset);
|
||||||
|
#else
|
||||||
read = std::min<size_t>(72, txt.size()-offset);
|
read = std::min<size_t>(72, txt.size()-offset);
|
||||||
|
#endif
|
||||||
if(read > 0)
|
if(read > 0)
|
||||||
myStr.insert(myStr.end(),txt.begin()+offset,txt.begin()+offset+read);
|
myStr.insert(myStr.end(),txt.begin()+offset,txt.begin()+offset+read);
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,11 @@ namespace Tesses::Framework::Streams {
|
|||||||
{
|
{
|
||||||
if(this->offset < this->read)
|
if(this->offset < this->read)
|
||||||
{
|
{
|
||||||
|
#if defined(_WIN32)
|
||||||
|
sz = min(sz,this->read-this->offset);
|
||||||
|
#else
|
||||||
sz = std::min(sz,this->read-this->offset);
|
sz = std::min(sz,this->read-this->offset);
|
||||||
|
#endif
|
||||||
memcpy(buff, this->buffer+this->offset, sz);
|
memcpy(buff, this->buffer+this->offset, sz);
|
||||||
this->offset+=sz;
|
this->offset+=sz;
|
||||||
return sz;
|
return sz;
|
||||||
@ -40,8 +44,11 @@ namespace Tesses::Framework::Streams {
|
|||||||
{
|
{
|
||||||
this->read = this->strm->Read(this->buffer, this->bufferSize);
|
this->read = this->strm->Read(this->buffer, this->bufferSize);
|
||||||
this->offset=0;
|
this->offset=0;
|
||||||
|
#if defined(_WIN32)
|
||||||
|
sz = min(sz,this->read-this->offset);
|
||||||
|
#else
|
||||||
sz = std::min(sz,this->read-this->offset);
|
sz = std::min(sz,this->read-this->offset);
|
||||||
|
#endif
|
||||||
memcpy(buff, this->buffer+this->offset, sz);
|
memcpy(buff, this->buffer+this->offset, sz);
|
||||||
this->offset+=sz;
|
this->offset+=sz;
|
||||||
return sz;
|
return sz;
|
||||||
|
|||||||
@ -14,7 +14,11 @@ namespace Tesses::Framework::Streams
|
|||||||
size_t MemoryStream::Read(uint8_t* buff, size_t sz)
|
size_t MemoryStream::Read(uint8_t* buff, size_t sz)
|
||||||
{
|
{
|
||||||
if(this->offset >= this->buffer.size()) return 0;
|
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);
|
size_t toRead = std::min(sz, this->buffer.size()-this->offset);
|
||||||
|
#endif
|
||||||
memcpy(buff, this->buffer.data() + this->offset, toRead);
|
memcpy(buff, this->buffer.data() + this->offset, toRead);
|
||||||
this->offset += toRead;
|
this->offset += toRead;
|
||||||
return toRead;
|
return toRead;
|
||||||
|
|||||||
@ -498,7 +498,7 @@ namespace Tesses::Framework::Streams {
|
|||||||
{
|
{
|
||||||
|
|
||||||
if(!this->success) return 0;
|
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)
|
if(r <= 0)
|
||||||
{
|
{
|
||||||
@ -513,7 +513,7 @@ namespace Tesses::Framework::Streams {
|
|||||||
|
|
||||||
if(!this->success) return 0;
|
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) {
|
if(sz2 <= 0) {
|
||||||
this->endOfStream=true;
|
this->endOfStream=true;
|
||||||
return 0;
|
return 0;
|
||||||
@ -526,7 +526,7 @@ namespace Tesses::Framework::Streams {
|
|||||||
if(!this->success) return 0;
|
if(!this->success) return 0;
|
||||||
struct sockaddr_storage storage;
|
struct sockaddr_storage storage;
|
||||||
socklen_t addrlen=(socklen_t)sizeof(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);
|
ip = StringifyIP((struct sockaddr*)&storage);
|
||||||
port = GetPort((struct sockaddr*)&storage);
|
port = GetPort((struct sockaddr*)&storage);
|
||||||
if(r < 0) return 0;
|
if(r < 0) return 0;
|
||||||
@ -555,7 +555,7 @@ namespace Tesses::Framework::Streams {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SetPort((struct sockaddr*)&addr, port);
|
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;
|
if(sz2 < 0) return 0;
|
||||||
return (size_t)sz2;
|
return (size_t)sz2;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -100,13 +100,22 @@ namespace Tesses::Framework::Streams {
|
|||||||
void Stream::CopyTo(Stream& strm, size_t buffSize)
|
void Stream::CopyTo(Stream& strm, size_t buffSize)
|
||||||
{
|
{
|
||||||
size_t read;
|
size_t read;
|
||||||
|
#if defined(_WIN32)
|
||||||
|
uint8_t* buffer = new uint8_t[buffSize];
|
||||||
|
#else
|
||||||
|
|
||||||
uint8_t buffer[buffSize];
|
uint8_t buffer[buffSize];
|
||||||
|
#endif
|
||||||
do {
|
do {
|
||||||
read = this->Read(buffer,buffSize);
|
read = this->Read(buffer,buffSize);
|
||||||
strm.WriteBlock(buffer, read);
|
strm.WriteBlock(buffer, read);
|
||||||
|
|
||||||
} while(read > 0);
|
} while(read > 0);
|
||||||
strm.Flush();
|
strm.Flush();
|
||||||
|
|
||||||
|
#if defined(_WIN32)
|
||||||
|
delete buffer;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
Stream::~Stream()
|
Stream::~Stream()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -25,10 +25,17 @@ namespace Tesses::Framework::TextStreams {
|
|||||||
|
|
||||||
bool StreamReader::ReadBlock(std::string& str, size_t len)
|
bool StreamReader::ReadBlock(std::string& str, size_t len)
|
||||||
{
|
{
|
||||||
|
#if defined(_WIN32)
|
||||||
|
uint8_t* buff = new uint8_t[len];
|
||||||
|
#else
|
||||||
uint8_t buff[len];
|
uint8_t buff[len];
|
||||||
|
#endif
|
||||||
len = strm->ReadBlock(buff,len);
|
len = strm->ReadBlock(buff,len);
|
||||||
if(len == 0) return false;
|
if(len == 0) return false;
|
||||||
str.append((const char*)buff, len);
|
str.append((const char*)buff, len);
|
||||||
|
#if defined(_WIN32)
|
||||||
|
delete buff;
|
||||||
|
#endif
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
StreamReader::~StreamReader()
|
StreamReader::~StreamReader()
|
||||||
|
|||||||
Reference in New Issue
Block a user