mirror of
https://github.com/BeamMP/BeamMP-Server.git
synced 2025-07-01 23:35:41 +00:00
Fix compiler warnings, explicitly cast by default
This commit is contained in:
parent
8bc35fb82e
commit
953131289d
@ -22,7 +22,7 @@ private:
|
||||
std::string::size_type p;
|
||||
if (Buf.at(0) == '\n'){
|
||||
p = Buf.find('\n',1);
|
||||
if(p != -1){
|
||||
if(p != std::string::npos){
|
||||
std::string R = Buf.substr(1,p-1);
|
||||
std::string_view B(R.c_str(),R.find(char(0)));
|
||||
GParser(c, B.data());
|
||||
@ -31,7 +31,7 @@ private:
|
||||
}
|
||||
}else{
|
||||
p = Buf.find('\n');
|
||||
if(p == -1)Buf.clear();
|
||||
if(p == std::string::npos)Buf.clear();
|
||||
else{
|
||||
Buf = Buf.substr(p);
|
||||
Manage(c);
|
||||
|
@ -20,17 +20,16 @@ struct LuaArg{
|
||||
for(std::any arg : args){
|
||||
if(!arg.has_value())return;
|
||||
std::string Type = arg.type().name();
|
||||
if(Type.find("bool") != -1){
|
||||
if(Type.find("bool") != std::string::npos){
|
||||
lua_pushboolean(State,std::any_cast<bool>(arg));
|
||||
}
|
||||
if(Type.find("basic_string") != -1 || Type.find("char") != -1){
|
||||
if(Type.find("basic_string") != std::string::npos || Type.find("char") != std::string::npos){
|
||||
lua_pushstring(State,std::any_cast<std::string>(arg).c_str());
|
||||
}
|
||||
if(Type.find("int") != -1){
|
||||
if(Type.find("int") != std::string::npos){
|
||||
lua_pushinteger(State,std::any_cast<int>(arg));
|
||||
}
|
||||
if(Type.find("float") != -1){
|
||||
lua_pushnumber(State,std::any_cast<float>(arg));
|
||||
if(Type.find("float") != std::string::npos){ lua_pushnumber(State,std::any_cast<float>(arg));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ std::string Comp(std::string Data){
|
||||
deflate(&defstream, Z_SYNC_FLUSH);
|
||||
deflate(&defstream, Z_FINISH);
|
||||
deflateEnd(&defstream);
|
||||
int TO = defstream.total_out;
|
||||
size_t TO = defstream.total_out;
|
||||
std::string Ret(TO,0);
|
||||
std::copy_n(C.begin(), TO, Ret.begin());
|
||||
return Ret;
|
||||
@ -45,7 +45,7 @@ std::string DeComp(std::string Compressed){
|
||||
inflate(&infstream, Z_SYNC_FLUSH);
|
||||
inflate(&infstream, Z_FINISH);
|
||||
inflateEnd(&infstream);
|
||||
int TO = infstream.total_out;
|
||||
size_t TO = infstream.total_out;
|
||||
std::string Ret(TO,0);
|
||||
std::copy_n(C.begin(), TO, Ret.begin());
|
||||
return Ret;
|
||||
|
@ -85,15 +85,20 @@ int Dec(int value,int d,int n){
|
||||
return log_power(value, d, n);
|
||||
}
|
||||
|
||||
#ifdef __WIN32
|
||||
int Handle(EXCEPTION_POINTERS *ep,char* Origin){
|
||||
assert(false);
|
||||
std::stringstream R;
|
||||
R << Sec("Code : ") << std::hex
|
||||
//<< ep->ExceptionRecord->ExceptionCode
|
||||
<< ep->ExceptionRecord->ExceptionCode
|
||||
<< std::dec << Sec(" Origin : ") << Origin;
|
||||
except(R.str());
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
// stub
|
||||
int Handle(EXCEPTION_POINTERS *, char*) { return 1; }
|
||||
#endif // __WIN32
|
||||
|
||||
std::string RSA_E(const std::string& Data, RSA*k){
|
||||
std::stringstream stream;
|
||||
|
@ -33,13 +33,13 @@ void SetValues(const std::string& Line, int Index) {
|
||||
}
|
||||
Data = Data.substr(1);
|
||||
std::string::size_type sz;
|
||||
bool Boolean = std::string(Data).find("true") != -1;//searches for "true"
|
||||
bool FoundTrue = std::string(Data).find("true") != std::string::npos;//searches for "true"
|
||||
switch (Index) {
|
||||
case 1 :
|
||||
Debug = Boolean;//checks and sets the Debug Value
|
||||
Debug = FoundTrue;//checks and sets the Debug Value
|
||||
break;
|
||||
case 2 :
|
||||
Private = Boolean;//checks and sets the Private Value
|
||||
Private = FoundTrue;//checks and sets the Private Value
|
||||
break;
|
||||
case 3 :
|
||||
Port = std::stoi(Data, &sz);//sets the Port
|
||||
|
@ -375,7 +375,7 @@ int lua_RemoteEvent(lua_State *L){
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
int lua_ServerExit(lua_State *L){
|
||||
int lua_ServerExit(lua_State *){
|
||||
exit(0);
|
||||
}
|
||||
int lua_Set(lua_State *L){
|
||||
|
@ -17,17 +17,17 @@ struct Hold{
|
||||
bool Done = false;
|
||||
};
|
||||
bool Send(SOCKET TCPSock,std::string Data){
|
||||
int BytesSent;
|
||||
BytesSent = send(TCPSock, Data.c_str(), int(Data.size()), 0);
|
||||
ssize_t BytesSent;
|
||||
BytesSent = send(TCPSock, Data.c_str(), size_t(Data.size()), 0);
|
||||
Data.clear();
|
||||
if (BytesSent <= 0)return false;
|
||||
return true;
|
||||
}
|
||||
std::string Rcv(SOCKET TCPSock){
|
||||
char buf[6768];
|
||||
int len = 6768;
|
||||
size_t len = 6768;
|
||||
ZeroMemory(buf, len);
|
||||
int BytesRcv = recv(TCPSock, buf, len,0);
|
||||
ssize_t BytesRcv = recv(TCPSock, buf, len,0);
|
||||
if (BytesRcv <= 0)return "";
|
||||
return std::string(buf);
|
||||
}
|
||||
@ -131,7 +131,7 @@ void Identification(SOCKET TCPSock,Hold*S,RSA*Skey){
|
||||
Name = Res.substr(2,Res.find(':')-2);
|
||||
DID = Res.substr(Res.find(':')+1);
|
||||
Role = GetRole(DID);
|
||||
if(Role.empty() || Role.find(Sec("Error")) != -1){
|
||||
if(Role.empty() || Role.find(Sec("Error")) != std::string::npos){
|
||||
closesocket(TCPSock);
|
||||
return;
|
||||
}
|
||||
@ -220,7 +220,7 @@ void TCPServerMain(){
|
||||
sockaddr_in addr{};
|
||||
addr.sin_addr.s_addr = INADDR_ANY;
|
||||
addr.sin_family = AF_INET;
|
||||
addr.sin_port = htons(Port);
|
||||
addr.sin_port = htons(uint16_t(Port));
|
||||
if (bind(Listener, (sockaddr*)&addr, sizeof(addr)) != 0){
|
||||
error(Sec("Can't bind socket! ") + std::string(strerror(errno)));
|
||||
std::this_thread::sleep_for(std::chrono::seconds(5));
|
||||
|
@ -149,7 +149,7 @@ void HandleEvent(Client*c ,const std::string&Data){
|
||||
}
|
||||
|
||||
void GlobalParser(Client*c, const std::string& Pack){
|
||||
static int lastRecv = 0;
|
||||
[[maybe_unused]] static int lastRecv = 0;
|
||||
if(Pack.empty() || c == nullptr)return;
|
||||
std::string Packet = Pack.substr(0,Pack.find(char(0)));
|
||||
std::string pct;
|
||||
@ -181,7 +181,7 @@ void GlobalParser(Client*c, const std::string& Pack){
|
||||
SendToAll(c,Packet,false,true);
|
||||
return;
|
||||
case 'C':
|
||||
if(Packet.length() < 4 || Packet.find(':', 3) == -1)break;
|
||||
if(Packet.length() < 4 || Packet.find(':', 3) == std::string::npos)break;
|
||||
if (TriggerLuaEvent(Sec("onChatMessage"), false, nullptr,new LuaArg{
|
||||
{c->GetID(), c->GetName(), Packet.substr(Packet.find(':', 3) + 1)}
|
||||
},true))break;
|
||||
|
@ -15,8 +15,7 @@
|
||||
|
||||
void STCPSend(Client*c,std::string Data){
|
||||
if(c == nullptr)return;
|
||||
int BytesSent;
|
||||
BytesSent = send(c->GetTCPSock(), Data.c_str(), int(Data.size()), 0);
|
||||
ssize_t BytesSent = send(c->GetTCPSock(), Data.c_str(), size_t(Data.size()), 0);
|
||||
Data.clear();
|
||||
if (BytesSent == 0){
|
||||
if(c->GetStatus() > -1)c->SetStatus(-1);
|
||||
@ -35,20 +34,22 @@ void SendFile(Client*c,const std::string&Name){
|
||||
std::ifstream f(Name.c_str(), std::ios::binary);
|
||||
f.seekg(0, std::ios_base::end);
|
||||
std::streampos fileSize = f.tellg();
|
||||
size_t Size = fileSize,Sent = 0,Diff;
|
||||
int Split = 64000;
|
||||
size_t Size = size_t(fileSize);
|
||||
size_t Sent = 0;
|
||||
size_t Diff;
|
||||
ssize_t Split = 64000;
|
||||
while(c->GetStatus() > -1 && Sent < Size){
|
||||
Diff = Size - Sent;
|
||||
if(Diff > Split){
|
||||
std::string Data(Split,0);
|
||||
f.seekg(Sent, std::ios_base::beg);
|
||||
if(Diff > size_t(Split)){
|
||||
std::string Data(size_t(Split),0);
|
||||
f.seekg(ssize_t(Sent), std::ios_base::beg);
|
||||
f.read(&Data[0], Split);
|
||||
STCPSend(c,Data);
|
||||
Sent += Split;
|
||||
Sent += size_t(Split);
|
||||
}else{
|
||||
std::string Data(Diff,0);
|
||||
f.seekg(Sent, std::ios_base::beg);
|
||||
f.read(&Data[0], Diff);
|
||||
f.seekg(ssize_t(Sent), std::ios_base::beg);
|
||||
f.read(&Data[0], ssize_t(Diff));
|
||||
STCPSend(c,Data);
|
||||
Sent += Diff;
|
||||
}
|
||||
@ -79,9 +80,9 @@ void Parse(Client*c,const std::string&Packet){
|
||||
bool STCPRecv(Client*c){
|
||||
if(c == nullptr)return false;
|
||||
char buf[200];
|
||||
int len = 200;
|
||||
size_t len = 200;
|
||||
ZeroMemory(buf, len);
|
||||
int BytesRcv = recv(c->GetTCPSock(), buf, len,0);
|
||||
ssize_t BytesRcv = recv(c->GetTCPSock(), buf, len,0);
|
||||
if (BytesRcv == 0){
|
||||
if(c->GetStatus() > -1)c->SetStatus(-1);
|
||||
closesocket(c->GetTCPSock());
|
||||
@ -92,7 +93,7 @@ bool STCPRecv(Client*c){
|
||||
return false;
|
||||
}
|
||||
if(strcmp(buf,"Done") == 0)return false;
|
||||
std::string Ret(buf,BytesRcv);
|
||||
std::string Ret(buf, size_t(BytesRcv));
|
||||
Parse(c,Ret);
|
||||
return true;
|
||||
}
|
||||
|
@ -10,7 +10,7 @@
|
||||
void TCPSend(Client*c,const std::string&Data){
|
||||
if(c == nullptr)return;
|
||||
std::string Send = "\n" + Data.substr(0,Data.find(char(0))) + "\n";
|
||||
size_t Sent = send(c->GetTCPSock(), Send.c_str(), int(Send.size()), 0);
|
||||
ssize_t Sent = send(c->GetTCPSock(), Send.c_str(), size_t(Send.size()), 0);
|
||||
if (Sent == 0){
|
||||
if(c->GetStatus() > -1)c->SetStatus(-1);
|
||||
}else if (Sent < 0) {
|
||||
@ -32,9 +32,9 @@ void TCPHandle(Client*c,const std::string& data){
|
||||
void TCPRcv(Client*c){
|
||||
if(c == nullptr || c->GetStatus() < 0)return;
|
||||
char buf[4096];
|
||||
int len = 4096;
|
||||
size_t len = 4096;
|
||||
ZeroMemory(buf, len);
|
||||
int BytesRcv = recv(c->GetTCPSock(), buf, len,0);
|
||||
ssize_t BytesRcv = recv(c->GetTCPSock(), buf, len,0);
|
||||
if (BytesRcv == 0){
|
||||
debug(Sec("(TCP) Connection closing..."));
|
||||
if(c->GetStatus() > -1)c->SetStatus(-1);
|
||||
@ -49,7 +49,7 @@ void TCPRcv(Client*c){
|
||||
closesocket(c->GetTCPSock());
|
||||
return;
|
||||
}
|
||||
std::string Buf(buf,BytesRcv);
|
||||
std::string Buf(buf,(size_t(BytesRcv)));
|
||||
TCPHandle(c,Buf);
|
||||
}
|
||||
void TCPClient(Client*c){
|
||||
|
@ -34,13 +34,13 @@ std::set<SplitData*> SplitPackets;
|
||||
void UDPSend(Client*c,std::string Data){
|
||||
if(c == nullptr || !c->isConnected || c->GetStatus() < 0)return;
|
||||
sockaddr_in Addr = c->GetUDPAddr();
|
||||
int AddrSize = sizeof(c->GetUDPAddr());
|
||||
socklen_t AddrSize = sizeof(c->GetUDPAddr());
|
||||
Data = Data.substr(0,Data.find(char(0)));
|
||||
if(Data.length() > 400){
|
||||
std::string CMP(Comp(Data));
|
||||
Data = "ABG:" + CMP;
|
||||
}
|
||||
int sendOk = sendto(UDPSock, Data.c_str(), int(Data.size()), 0, (sockaddr *) &Addr, AddrSize);
|
||||
ssize_t sendOk = sendto(UDPSock, Data.c_str(), Data.size(), 0, (sockaddr *) &Addr, AddrSize);
|
||||
#ifdef __WIN32
|
||||
if (sendOk != 0) {
|
||||
debug(Sec("(UDP) Send Failed Code : ") + std::to_string(WSAGetLastError()));
|
||||
@ -102,13 +102,13 @@ void SendLarge(Client*c,std::string Data){
|
||||
}
|
||||
}
|
||||
struct HandledC{
|
||||
int Pos = 0;
|
||||
size_t Pos = 0;
|
||||
Client *c = nullptr;
|
||||
std::array<int, 100> HandledIDs = {-1};
|
||||
};
|
||||
std::set<HandledC*> HandledIDs;
|
||||
void ResetIDs(HandledC*H){
|
||||
for(int C = 0;C < 100;C++){
|
||||
for(size_t C = 0;C < 100;C++){
|
||||
H->HandledIDs.at(C) = -1;
|
||||
}
|
||||
}
|
||||
@ -151,10 +151,10 @@ bool Handled(Client*c,int ID){
|
||||
return false;
|
||||
}
|
||||
std::string UDPRcvFromClient(sockaddr_in& client){
|
||||
int clientLength = sizeof(client);
|
||||
size_t clientLength = sizeof(client);
|
||||
ZeroMemory(&client, clientLength);
|
||||
std::string Ret(10240,0);
|
||||
int Rcv = recvfrom(UDPSock, &Ret[0], 10240, 0, (sockaddr*)&client, (socklen_t*)&clientLength);
|
||||
ssize_t Rcv = recvfrom(UDPSock, &Ret[0], 10240, 0, (sockaddr*)&client, (socklen_t*)&clientLength);
|
||||
if (Rcv == -1){
|
||||
#ifdef __WIN32
|
||||
error(Sec("(UDP) Error receiving from Client! Code : ") + std::to_string(WSAGetLastError()));
|
||||
@ -177,13 +177,13 @@ SplitData*GetSplit(int SplitID){
|
||||
void HandleChunk(Client*c,const std::string&Data){
|
||||
int pos = FC(Data,"|",5);
|
||||
if(pos == -1)return;
|
||||
std::stringstream ss(Data.substr(0,pos++));
|
||||
std::stringstream ss(Data.substr(0,size_t(pos++)));
|
||||
std::string t;
|
||||
int I = -1;
|
||||
//Current Max ID SID
|
||||
std::vector<int> Num(4,0);
|
||||
while (std::getline(ss, t, '|')) {
|
||||
if(I != -1)Num.at(I) = std::stoi(t);
|
||||
if(I >= 0)Num.at(size_t(I)) = std::stoi(t);
|
||||
I++;
|
||||
}
|
||||
std::string ack = "TRG:" + std::to_string(Num.at(2));
|
||||
@ -191,12 +191,12 @@ void HandleChunk(Client*c,const std::string&Data){
|
||||
if(Handled(c,Num.at(2))){
|
||||
return;
|
||||
}
|
||||
std::string Packet = Data.substr(pos);
|
||||
std::string Packet = Data.substr(size_t(pos));
|
||||
SplitData* SData = GetSplit(Num.at(3));
|
||||
SData->Total = Num.at(1);
|
||||
SData->ID = Num.at(3);
|
||||
SData->Fragments.insert(std::make_pair(Num.at(0),Packet));
|
||||
if(SData->Fragments.size() == SData->Total){
|
||||
if(SData->Fragments.size() == size_t(SData->Total)) {
|
||||
std::string ToHandle;
|
||||
for(const std::pair<int,std::string>& a : SData->Fragments){
|
||||
ToHandle += a.second;
|
||||
@ -213,7 +213,7 @@ void UDPParser(Client*c,std::string Packet){
|
||||
}
|
||||
if(Packet.substr(0,4) == "TRG:"){
|
||||
std::string pkt = Packet.substr(4);
|
||||
if(Packet.find_first_not_of("0123456789") == -1){
|
||||
if(Packet.find_first_not_of("0123456789") == std::string::npos){
|
||||
AckID(stoi(Packet));
|
||||
}
|
||||
return;
|
||||
@ -307,7 +307,7 @@ void LOOP(){
|
||||
sockaddr_in serverAddr{};
|
||||
serverAddr.sin_addr.s_addr = INADDR_ANY; //Any Local
|
||||
serverAddr.sin_family = AF_INET; // Address format is IPv4
|
||||
serverAddr.sin_port = htons(Port); // Convert from little to big endian
|
||||
serverAddr.sin_port = htons(uint16_t(Port)); // Convert from little to big endian
|
||||
|
||||
// Try and bind the socket to the IP and port
|
||||
if (bind(UDPSock, (sockaddr*)&serverAddr, sizeof(serverAddr)) != 0){
|
||||
@ -325,12 +325,12 @@ void LOOP(){
|
||||
while (true){
|
||||
sockaddr_in client{};
|
||||
std::string Data = UDPRcvFromClient(client); //Receives any data from Socket
|
||||
auto Pos = Data.find(':');
|
||||
if(Data.empty() || Pos < 0 || Pos > 2)continue;
|
||||
size_t Pos = Data.find(':');
|
||||
if(Data.empty() || Pos > 2)continue;
|
||||
/*char clientIp[256];
|
||||
ZeroMemory(clientIp, 256); ///Code to get IP we don't need that yet
|
||||
inet_ntop(AF_INET, &client.sin_addr, clientIp, 256);*/
|
||||
uint8_t ID = Data.at(0)-1;
|
||||
uint8_t ID = uint8_t(Data.at(0)) - 1;
|
||||
for(Client*c : CI->Clients){
|
||||
if(c != nullptr && c->GetID() == ID){
|
||||
c->SetUDPAddr(client);
|
||||
|
Loading…
x
Reference in New Issue
Block a user