Fix win32 somewhat?
This commit is contained in:
@ -16,12 +16,17 @@
|
|||||||
#include <TessesFramework/TessesFramework.hpp>
|
#include <TessesFramework/TessesFramework.hpp>
|
||||||
#include <regex>
|
#include <regex>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#include <cstdbool>
|
||||||
#define TVM_MAJOR 1
|
#define TVM_MAJOR 1
|
||||||
#define TVM_MINOR 0
|
#define TVM_MINOR 0
|
||||||
#define TVM_PATCH 0
|
#define TVM_PATCH 0
|
||||||
#define TVM_BUILD 0
|
#define TVM_BUILD 0
|
||||||
#define TVM_VERSIONSTAGE DevVersion
|
#define TVM_VERSIONSTAGE DevVersion
|
||||||
|
|
||||||
|
#if defined(_WIN32)
|
||||||
|
#undef Yield
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace Tesses::CrossLang {
|
namespace Tesses::CrossLang {
|
||||||
|
|
||||||
std::string EscapeString(std::string text,bool quote);
|
std::string EscapeString(std::string text,bool quote);
|
||||||
|
|||||||
@ -245,7 +245,11 @@ namespace Tesses::CrossLang
|
|||||||
size_t offset = 0;
|
size_t offset = 0;
|
||||||
uint8_t buff[1024];
|
uint8_t buff[1024];
|
||||||
do {
|
do {
|
||||||
|
#if defined(_WIN32)
|
||||||
|
read = min(min(tableLen-offset,tableLen), sizeof(buff));
|
||||||
|
#else
|
||||||
read = std::min(std::min(tableLen-offset,tableLen), sizeof(buff));
|
read = std::min(std::min(tableLen-offset,tableLen), sizeof(buff));
|
||||||
|
#endif
|
||||||
read = strm->Read(buff,read);
|
read = strm->Read(buff,read);
|
||||||
if(read > 0)
|
if(read > 0)
|
||||||
strm2->WriteBlock(buff,read);
|
strm2->WriteBlock(buff,read);
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
#include "CrossLang.hpp"
|
#include "CrossLang.hpp"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#if defined(GEKKO) || defined(__SWITCH__)
|
#if defined(GEKKO) || defined(__SWITCH__) || defined(_WIN32)
|
||||||
#undef CROSSLANG_ENABLE_TERMIOS
|
#undef CROSSLANG_ENABLE_TERMIOS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -97,7 +97,7 @@ namespace Tesses::CrossLang
|
|||||||
int r = subprocess_create_ex(args3,(int)options,env3,subprocess);
|
int r = subprocess_create_ex(args3,(int)options,env3,subprocess);
|
||||||
if(r != 0)
|
if(r != 0)
|
||||||
{
|
{
|
||||||
printf("Here2 %i\n",r);
|
|
||||||
delete[] args3;
|
delete[] args3;
|
||||||
delete[] env3;
|
delete[] env3;
|
||||||
delete subprocess;
|
delete subprocess;
|
||||||
|
|||||||
@ -94,7 +94,11 @@ namespace Tesses::CrossLang
|
|||||||
arr->data.resize(sz);
|
arr->data.resize(sz);
|
||||||
|
|
||||||
auto res = dict->CallMethod(ls2, "Read",{arr, (int64_t)0L, (int64_t)sz});
|
auto res = dict->CallMethod(ls2, "Read",{arr, (int64_t)0L, (int64_t)sz});
|
||||||
|
#if defined(_WIN32)
|
||||||
|
memcpy(buff,arr->data.data(),min(sz,arr->data.size()));
|
||||||
|
#else
|
||||||
memcpy(buff,arr->data.data(),std::min(sz,arr->data.size()));
|
memcpy(buff,arr->data.data(),std::min(sz,arr->data.size()));
|
||||||
|
#endif
|
||||||
int64_t r;
|
int64_t r;
|
||||||
if(GetObject(res,r)) return r;
|
if(GetObject(res,r)) return r;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2969,7 +2969,12 @@ namespace Tesses::CrossLang {
|
|||||||
uint16_t port=0;
|
uint16_t port=0;
|
||||||
|
|
||||||
if(off < len)
|
if(off < len)
|
||||||
|
#if defined(_WIN32)
|
||||||
|
len = netStrm->ReadFrom(data->data.data()+off,min(len,min(data->data.size() - off, data->data.size())),ip,port);
|
||||||
|
|
||||||
|
#else
|
||||||
len = netStrm->ReadFrom(data->data.data()+off,std::min(len,std::min(data->data.size() - off, data->data.size())),ip,port);
|
len = netStrm->ReadFrom(data->data.data()+off,std::min(len,std::min(data->data.size() - off, data->data.size())),ip,port);
|
||||||
|
#endif
|
||||||
else
|
else
|
||||||
len = 0;
|
len = 0;
|
||||||
|
|
||||||
@ -3000,7 +3005,12 @@ namespace Tesses::CrossLang {
|
|||||||
size_t len = (size_t)length;
|
size_t len = (size_t)length;
|
||||||
|
|
||||||
if(off < len)
|
if(off < len)
|
||||||
|
#if defined(_WIN32)
|
||||||
|
len = netStrm->WriteTo(data->data.data()+off,min(len, min(data->data.size() - off, data->data.size())), ip, (int64_t)port);
|
||||||
|
|
||||||
|
#else
|
||||||
len = netStrm->WriteTo(data->data.data()+off,std::min(len, std::min(data->data.size() - off, data->data.size())), ip, (int64_t)port);
|
len = netStrm->WriteTo(data->data.data()+off,std::min(len, std::min(data->data.size() - off, data->data.size())), ip, (int64_t)port);
|
||||||
|
#endif
|
||||||
else
|
else
|
||||||
len = 0;
|
len = 0;
|
||||||
|
|
||||||
@ -3023,7 +3033,12 @@ namespace Tesses::CrossLang {
|
|||||||
size_t len = (size_t)length;
|
size_t len = (size_t)length;
|
||||||
|
|
||||||
if(off < len)
|
if(off < len)
|
||||||
|
#if defined(_WIN32)
|
||||||
|
len = strm->stream->Read(data->data.data()+off,min(len,min(data->data.size() - off, data->data.size())));
|
||||||
|
|
||||||
|
#else
|
||||||
len = strm->stream->Read(data->data.data()+off,std::min(len,std::min(data->data.size() - off, data->data.size())));
|
len = strm->stream->Read(data->data.data()+off,std::min(len,std::min(data->data.size() - off, data->data.size())));
|
||||||
|
#endif
|
||||||
else
|
else
|
||||||
len = 0;
|
len = 0;
|
||||||
|
|
||||||
@ -3044,7 +3059,12 @@ namespace Tesses::CrossLang {
|
|||||||
size_t len = (size_t)length;
|
size_t len = (size_t)length;
|
||||||
|
|
||||||
if(off < len)
|
if(off < len)
|
||||||
|
#if defined(_WIN32)
|
||||||
|
|
||||||
|
len = strm->stream->Write(data->data.data()+off,min(len, min(data->data.size() - off, data->data.size())));
|
||||||
|
#else
|
||||||
len = strm->stream->Write(data->data.data()+off,std::min(len, std::min(data->data.size() - off, data->data.size())));
|
len = strm->stream->Write(data->data.data()+off,std::min(len, std::min(data->data.size() - off, data->data.size())));
|
||||||
|
#endif
|
||||||
else
|
else
|
||||||
len = 0;
|
len = 0;
|
||||||
|
|
||||||
@ -3065,7 +3085,12 @@ namespace Tesses::CrossLang {
|
|||||||
size_t len = (size_t)length;
|
size_t len = (size_t)length;
|
||||||
|
|
||||||
if(off < len)
|
if(off < len)
|
||||||
|
#if defined(_WIN32)
|
||||||
|
len = strm->stream->ReadBlock(data->data.data()+off,min(len, min(data->data.size() - off, data->data.size())));
|
||||||
|
|
||||||
|
#else
|
||||||
len = strm->stream->ReadBlock(data->data.data()+off,std::min(len, std::min(data->data.size() - off, data->data.size())));
|
len = strm->stream->ReadBlock(data->data.data()+off,std::min(len, std::min(data->data.size() - off, data->data.size())));
|
||||||
|
#endif
|
||||||
else
|
else
|
||||||
len = 0;
|
len = 0;
|
||||||
|
|
||||||
@ -3098,7 +3123,11 @@ namespace Tesses::CrossLang {
|
|||||||
size_t len = (size_t)length;
|
size_t len = (size_t)length;
|
||||||
|
|
||||||
if(off < len)
|
if(off < len)
|
||||||
|
#if defined(_WIN32)
|
||||||
|
strm->stream->WriteBlock(data->data.data()+off,min(len,min(data->data.size() - off, data->data.size())));
|
||||||
|
#else
|
||||||
strm->stream->WriteBlock(data->data.data()+off,std::min(len,std::min(data->data.size() - off, data->data.size())));
|
strm->stream->WriteBlock(data->data.data()+off,std::min(len,std::min(data->data.size() - off, data->data.size())));
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
cse.back()->Push(gc, nullptr);
|
cse.back()->Push(gc, nullptr);
|
||||||
@ -3263,7 +3292,11 @@ namespace Tesses::CrossLang {
|
|||||||
{
|
{
|
||||||
offdest = bArray2->data.size();
|
offdest = bArray2->data.size();
|
||||||
}
|
}
|
||||||
|
#if defined(_WIN32)
|
||||||
|
len = min(min(bArray->data.size()-offsrc,bArray2->data.size()-offdest),len);
|
||||||
|
#else
|
||||||
len = std::min<size_t>(std::min<size_t>(bArray->data.size()-offsrc,bArray2->data.size()-offdest),len);
|
len = std::min<size_t>(std::min<size_t>(bArray->data.size()-offsrc,bArray2->data.size()-offdest),len);
|
||||||
|
#endif
|
||||||
if(len > 0)
|
if(len > 0)
|
||||||
memcpy(bArray2->data.data()+offdest,bArray->data.data()+offsrc,len);
|
memcpy(bArray2->data.data()+offdest,bArray->data.data()+offsrc,len);
|
||||||
cse.back()->Push(gc,bArray2);
|
cse.back()->Push(gc,bArray2);
|
||||||
@ -3309,8 +3342,11 @@ namespace Tesses::CrossLang {
|
|||||||
{
|
{
|
||||||
offdest = bArray->data.size();
|
offdest = bArray->data.size();
|
||||||
}
|
}
|
||||||
|
#if defined(_WIN32)
|
||||||
|
len = min(len,bArray2->data.size()-offsrc);
|
||||||
|
#else
|
||||||
len = std::min(len,bArray2->data.size()-offsrc);
|
len = std::min(len,bArray2->data.size()-offsrc);
|
||||||
|
#endif
|
||||||
|
|
||||||
bArray->data.insert(bArray->data.begin()+offdest,bArray2->data.begin()+offsrc,bArray2->data.begin()+offsrc+len);
|
bArray->data.insert(bArray->data.begin()+offdest,bArray2->data.begin()+offsrc,bArray2->data.begin()+offsrc+len);
|
||||||
cse.back()->Push(gc, bArray);
|
cse.back()->Push(gc, bArray);
|
||||||
@ -3344,9 +3380,11 @@ namespace Tesses::CrossLang {
|
|||||||
{
|
{
|
||||||
off = bArray->data.size();
|
off = bArray->data.size();
|
||||||
}
|
}
|
||||||
|
#if defined(_WIN32)
|
||||||
|
len = min(bArray->data.size() - off,len);
|
||||||
|
#else
|
||||||
len = std::min<size_t>(bArray->data.size() - off,len);
|
len = std::min<size_t>(bArray->data.size() - off,len);
|
||||||
|
#endif
|
||||||
bArray->data.insert(bArray->data.end(),bArray2->data.begin()+off,bArray2->data.begin()+off+len);
|
bArray->data.insert(bArray->data.end(),bArray2->data.begin()+off,bArray2->data.begin()+off+len);
|
||||||
cse.back()->Push(gc,bArray);
|
cse.back()->Push(gc,bArray);
|
||||||
return false;
|
return false;
|
||||||
@ -5078,10 +5116,18 @@ namespace Tesses::CrossLang {
|
|||||||
{
|
{
|
||||||
if(closure->closure->args[i].find("$$") == 0)
|
if(closure->closure->args[i].find("$$") == 0)
|
||||||
{
|
{
|
||||||
|
#if defined(_WIN32)
|
||||||
|
return min(argLen,i);
|
||||||
|
#else
|
||||||
return std::min(argLen,i);
|
return std::min(argLen,i);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#if defined(_WIN32)
|
||||||
|
return min(argLen,closure->closure->args.size());
|
||||||
|
#else
|
||||||
return std::min(argLen,closure->closure->args.size());
|
return std::min(argLen,closure->closure->args.size());
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
auto trimStart = [](std::string txt)->std::string {
|
auto trimStart = [](std::string txt)->std::string {
|
||||||
if(txt.empty()) return {};
|
if(txt.empty()) return {};
|
||||||
|
|||||||
Reference in New Issue
Block a user