Conversation
|
Can you please share the compiler flags so we can verify the changes? We typically dont make changes to picojson as its a bundled dependencies and the goal is to keep it in sync. I believe int64 is a better type for JSON values so |
|
I did use Copilot for finding a solution. The original warnings; NotificationFCM.cpp for the NotificationFCM.cpp there is a change in de domoticz repo; instead off; cWebem.cpp |
|
// Before (triggered MSVC C4244: implicit int64_t → unsigned int) // After (explicit cast — no warning, no suppression) Same change applied to is_substr_start_index_signature. // BEFORE: integer_type is Json::Value::Int (32-bit int), but asInt64() returns Int64 (64-bit)
// BEFORE: std::round() returns double, from_time_t() expects __time64_t (long long)
|
My previous Attemp seems to focused on other conversions (BN_num_bytes, HMAC, EVP_PKEY_size, EVP_VerifyFinal).
Now I revert #405 and #408 except;
jwt.h:2635
as_date() passes double to std::chrono::seconds(), narrowed to __time64_t
return date(std::chrono::seconds(static_cast<int64_t>(std::llround(as_number()))));traits/open-source-parsers-jsoncpp/traits.h:90
as_integer() returns val.asInt64() (Int64) implicitly narrowed to integer_type (int)
return static_cast<integer_type>(val.asInt64());My problem was the order off import, The Windows Libraries bundle version of jwt-cpp used a older version where these fixes haven't been applied yet.
But by changing the include order I found the core problem.
Kind Regards