Fix win32 somewhat?

This commit is contained in:
2025-04-16 07:39:30 -05:00
parent c831174e18
commit bf3ae1fa02
6 changed files with 65 additions and 6 deletions

View File

@ -16,12 +16,17 @@
#include <TessesFramework/TessesFramework.hpp>
#include <regex>
#include <time.h>
#include <cstdbool>
#define TVM_MAJOR 1
#define TVM_MINOR 0
#define TVM_PATCH 0
#define TVM_BUILD 0
#define TVM_VERSIONSTAGE DevVersion
#if defined(_WIN32)
#undef Yield
#endif
namespace Tesses::CrossLang {
std::string EscapeString(std::string text,bool quote);

View File

@ -245,7 +245,11 @@ namespace Tesses::CrossLang
size_t offset = 0;
uint8_t buff[1024];
do {
#if defined(_WIN32)
read = min(min(tableLen-offset,tableLen), sizeof(buff));
#else
read = std::min(std::min(tableLen-offset,tableLen), sizeof(buff));
#endif
read = strm->Read(buff,read);
if(read > 0)
strm2->WriteBlock(buff,read);

View File

@ -2,7 +2,7 @@
#include "CrossLang.hpp"
#include <iostream>
#if defined(GEKKO) || defined(__SWITCH__)
#if defined(GEKKO) || defined(__SWITCH__) || defined(_WIN32)
#undef CROSSLANG_ENABLE_TERMIOS
#endif

View File

@ -97,7 +97,7 @@ namespace Tesses::CrossLang
int r = subprocess_create_ex(args3,(int)options,env3,subprocess);
if(r != 0)
{
printf("Here2 %i\n",r);
delete[] args3;
delete[] env3;
delete subprocess;

View File

@ -94,7 +94,11 @@ namespace Tesses::CrossLang
arr->data.resize(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()));
#endif
int64_t r;
if(GetObject(res,r)) return r;
}

View File

@ -2969,7 +2969,12 @@ namespace Tesses::CrossLang {
uint16_t port=0;
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);
#endif
else
len = 0;
@ -3000,7 +3005,12 @@ namespace Tesses::CrossLang {
size_t len = (size_t)length;
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);
#endif
else
len = 0;
@ -3023,7 +3033,12 @@ namespace Tesses::CrossLang {
size_t len = (size_t)length;
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())));
#endif
else
len = 0;
@ -3044,7 +3059,12 @@ namespace Tesses::CrossLang {
size_t len = (size_t)length;
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())));
#endif
else
len = 0;
@ -3065,7 +3085,12 @@ namespace Tesses::CrossLang {
size_t len = (size_t)length;
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())));
#endif
else
len = 0;
@ -3098,7 +3123,11 @@ namespace Tesses::CrossLang {
size_t len = (size_t)length;
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())));
#endif
}
cse.back()->Push(gc, nullptr);
@ -3263,7 +3292,11 @@ namespace Tesses::CrossLang {
{
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);
#endif
if(len > 0)
memcpy(bArray2->data.data()+offdest,bArray->data.data()+offsrc,len);
cse.back()->Push(gc,bArray2);
@ -3309,8 +3342,11 @@ namespace Tesses::CrossLang {
{
offdest = bArray->data.size();
}
#if defined(_WIN32)
len = min(len,bArray2->data.size()-offsrc);
#else
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);
cse.back()->Push(gc, bArray);
@ -3344,9 +3380,11 @@ namespace Tesses::CrossLang {
{
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);
#endif
bArray->data.insert(bArray->data.end(),bArray2->data.begin()+off,bArray2->data.begin()+off+len);
cse.back()->Push(gc,bArray);
return false;
@ -5078,10 +5116,18 @@ namespace Tesses::CrossLang {
{
if(closure->closure->args[i].find("$$") == 0)
{
#if defined(_WIN32)
return min(argLen,i);
#else
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());
#endif
};
auto trimStart = [](std::string txt)->std::string {
if(txt.empty()) return {};