From 89b084a6a7c580baf2a4ca3ac9e4550b63b4ee34 Mon Sep 17 00:00:00 2001 From: Hans Dijkema Date: Fri, 17 Apr 2026 13:58:28 +0200 Subject: [PATCH] Making sure no warnings are printed (except for getenv) on windows. --- json.cpp | 6 +++--- lib/windows-x86_64/rktwebview.lib | Bin 0 -> 9618 bytes main.cpp | 1 + rktwebview.cpp | 18 +++++++++++------- shm.cpp | 14 ++++++++------ shmqueue.cpp | 4 ++++ 6 files changed, 27 insertions(+), 16 deletions(-) create mode 100644 lib/windows-x86_64/rktwebview.lib diff --git a/json.cpp b/json.cpp index 571eaa9..521b5fe 100644 --- a/json.cpp +++ b/json.cpp @@ -92,7 +92,7 @@ const JSON &JSON::at(unsigned int index) const { int JSON::length() const { if( Type == Class::Array ) - return Internal.List->size(); + return static_cast(Internal.List->size()); else return -1; } @@ -105,9 +105,9 @@ bool JSON::hasKey(const std::string &key) const { int JSON::size() const { if( Type == Class::Object ) - return Internal.Map->size(); + return static_cast(Internal.Map->size()); else if( Type == Class::Array ) - return Internal.List->size(); + return static_cast(Internal.List->size()); else return -1; } diff --git a/lib/windows-x86_64/rktwebview.lib b/lib/windows-x86_64/rktwebview.lib new file mode 100644 index 0000000000000000000000000000000000000000..94ee1012ce8191adb67a22ccf6ca3fcef7fba12f GIT binary patch literal 9618 zcmcIqYitx%6h1BQ0<{8tzow-i7{yY$RZOE5A=*$10wx+whVAaq4&B{pW~VJ`fV_w6ooJ8JI^c-U$=}QgXQ7S+7q^S#lq_N+VX2d3`+waLzY=%E({Y~H$EU%z47<6C>TY~Q?9w}+i^V_?iQ z#zEKnpYH3EZQ$jck!P~~$*21_>gyld{unx$=@F_$_p8y3%ovF8vXz-J9nQ>E$aaa8 z5zmZ{aHfGywziEyGwT?(Zj3p4BA!YO#1q4uui8ScDQh@-${I`=V@8UrfGd#w%*;-U zvv(D;-A>yu^km$LbH+KX>@jB8S<}jJ_JK~e#&&0%tUew$9Wyh?ISECw?;!TwHR9ZI zTG=CGjOz(2;~2a7kIL$0uY_&H9fJe$RSMgbl@&}~jchp?l_~Ik-x-y)~*k*03S_gavB9QCpsPq*GfDIceG4Rm%4EXhz?a<@(^OWLpX% z(Kyh_*4BuT(UTZ_mX+cG_!8MOZH@7t!Bxn1wvjbo%0k)&fi*v*^R!eFg5s2O9x) zq3sQ{>qPxPE5I!c;1b%O!RI&exd!FqN`S5=fPS=}!20&1Z{JdY11Mjh{uYyBIp&8~t zJyb&#c4jUtfkjXWjnD*l!+dBhQY|xZeY!K2A%ENGb!N(G7flZm5nD#&u0vc#Zr8LM z= z<0E#{X}156M9Kq4p3{&3kDjPqBgg=4W(tQX_oyg_6wNQW?SiHILC|u#h|NRE?IoTk zvqUMyh$g$aP-GjF+fg{Jl9T5GkF}M!g@X7C8BQ2rY(4Bg#p#2f;*=suVgrdaScV_Qel{5xM2ivy!udp5;-VR>; zdk<8sTV+xj+13#hAxVK#D3iWo2Htz1{jhI`rw!gkq^1<{0z1<7fOfbP@0G|M=ql$s zbq_4An1gDnp00AZ5BBX{w8>1^R@U0-Xe+j^)cSh+H+seV?*e?KwvYfa6?&pJ%yOT2 zAZ$s(N{?WZ_w6ky`S)Me3(bMrSPDVUdjQ;44+R>xj~1P`tdKS z9a)zDMz>OU27m9A*%Wiubi~#$v!)b&8%doz;I@$3380!aNv|mUWoFHqKuNRav*5+Q z)2#WwX2b1#U!=r1<`IWdW&DhpKHfUkb}%D10}j-l`~3nUcwbvRa#O@x%pW8-UW0%L zbUn}$#2cOtdKbm@nc&60limL@!nZTJ8n&UBGcy+RhgYK$S&G@@YacxS(qCR=&E&E( zh9od+CglB1V-Lxg_OF{KDQhdiH3sKMcrMB04E)p~E2b6G&m>h(*G*jhiF#TpqUJab zgK-Bv4Z@xo-JbOy{EX=&uA@RvgR`>25Ig0ueP`vV8?A^qQ$!3o8Vi~CxQ1u`xfwLO z{@8g;i*c9W`{+|Z7B27E(-kZT%$S~h>f7`8BHnBfPokJCblyFEP#)WoV^5sGBp-8h zzNZ|6WkK`qZ%l!D=-Tz~33aXtH8_bWI%@l#6MqxxJQ0;;;6+FM)T#V~P|E~Vj^P)E zs+dvV4edLvA?kbqHOL@Xz`W;?0`J`y{`sEp76^Djf>LZeZQ-^fgtt(_^YWj9@B)g= zMCj2^hOf6FUb%qBrdI`Fu9ahR7*_vy4`R{@8-Am3PZ6>=7B>IrRP^J{p7PCJjK|)u;o#AY!?Z5LT<~#<~_Duik;<=&Y%BWiTzwG z;7Yl3LC7ku@Wxklmx(JZ5s;bOydcaj#VGIHH*tP7Vpa;6k-2|CEr=<&!#DBMKM{AR zl3Ea)EwGSz&twJSh9A1G5@NN87#>{|gs6zu664e)#cPd#$exT88?*k!O&18WR)HD( zt+EizuHauTm^FBFuYD2!Edu|pz^{kYPxf4=*tn&y-<%}edIc_fY*YxYiX~k?d-5tV zhXw_1cq+w$=Dk9x)`??7uUw>cqEUhBpL!LBsbCKu#tvQ45VJ|d^iS1Tz`SEru`aFK z{n0VnS(_Dj%%L3%oB!A@NfU6xL&3rj6}j;H?>&2*zGjPvm^*YV2vZfO T+N|fUP`tDXnB1Wz{~6&wP(handler->shm_size)); - sprintf(command_slot, "%d", COMMAND_SLOT); - sprintf(command_result_slot, "%d", COMMAND_RESULT_SLOT); - sprintf(event_slot, "%d", EVENT_SLOT); - sprintf(alive_slot, "%d", ALIVE_SLOT); - sprintf(alive_ack_slot, "%d", ALIVE_ACK_SLOT); + snprintf(shm_size_str, 30, "%d", static_cast(handler->shm_size)); + snprintf(command_slot, 10, "%d", COMMAND_SLOT); + snprintf(command_result_slot, 10, "%d", COMMAND_RESULT_SLOT); + snprintf(event_slot, 10, "%d", EVENT_SLOT); + snprintf(alive_slot, 10, "%d", ALIVE_SLOT); + snprintf(alive_ack_slot, 10, "%d", ALIVE_ACK_SLOT); // run rktwebview_prg using the environment variable RKT_WEBVIEW_PRG @@ -316,7 +320,7 @@ void rkt_webview_init() #else #ifdef _WIN32 DWORD p = GetCurrentProcessId(); - sprintf(buf, "rktwebview-%ld", p); + snprintf(buf, 1024, "rktwebview-%ld", p); #else pid_t p = getpid(); sprintf(buf, "rktwebview-%x", p); diff --git a/shm.cpp b/shm.cpp index 9c8642e..cd9c280 100644 --- a/shm.cpp +++ b/shm.cpp @@ -138,7 +138,7 @@ public: first_i->prev = p_i; } i->prev = SHM_NULL; - i->alloc_size = bytes; + i->alloc_size = static_cast(bytes); *_first = p_i; place = p_i + sizeof(ShmItem); @@ -152,8 +152,8 @@ public: } else { *_used = u; i->prev = SHM_NULL; - i->size = bytes; - i->alloc_size = bytes; + i->size = static_cast(bytes); + i->alloc_size = static_cast(bytes); i->next = *_first; if (*_first != SHM_NULL) { ShmItem *first_i; @@ -180,6 +180,7 @@ public: ShmPlace p_i = place - sizeof(ShmItem); ShmItem *i; ref(p_i, &i); + if (i == nullptr) return; if (i->prev != SHM_NULL) { ShmItem *prev_i; @@ -218,8 +219,9 @@ public: public: ShmApiBase(const char *name, size_t size, bool owner) { - char *buf = reinterpret_cast(malloc(strlen(name) + 50)); - sprintf(buf, "sem_%s", name); + size_t buf_size = strlen(name) + 50; + char *buf = reinterpret_cast(malloc(buf_size)); + snprintf(buf, buf_size, "sem_%s", name); _sem_name = _strdup(buf); _mem_name = _strdup(name); ::free(buf); @@ -495,7 +497,7 @@ public: if (_owner) { *_first = SHM_NULL; *_free_list = SHM_NULL; - *_used = sizeof(int) + sizeof(ShmItem *) + sizeof(ShmItem *) + slots_size; + *_used = static_cast(sizeof(int) + sizeof(ShmItem *) + sizeof(ShmItem *) + slots_size); } } } diff --git a/shmqueue.cpp b/shmqueue.cpp index 514d418..d5ed712 100644 --- a/shmqueue.cpp +++ b/shmqueue.cpp @@ -1,6 +1,10 @@ #include "shmqueue.h" #include +#ifdef _WIN32 +#define sprintf sprintf_s +#endif + ShmQueue::ShmQueue(Shm *shm, ShmSlot slot, bool owner) { _shm = shm;