From d57b7c5ead0de965c9302bd0713a5cecdbeda5ff Mon Sep 17 00:00:00 2001 From: Paul Johnson Date: Mon, 5 Jan 2026 20:07:35 +0000 Subject: [PATCH] Suppress "may be unsafe" MSVC compiler warnings for C functions (#4789) * Suppress C function warnings in Windows using pragmas --- src/ANT/ANTChannel.cpp | 5 +++++ src/Core/DataFilter.l | 5 +++++ src/Core/main.cpp | 7 +++++++ src/FileIO/JouleDevice.cpp | 5 +++++ src/FileIO/MacroDevice.cpp | 5 +++++ src/FileIO/MoxyDevice.cpp | 5 +++++ src/FileIO/PowerTapDevice.cpp | 5 +++++ src/FileIO/RawRideFile.cpp | 7 +++++++ src/FileIO/Serial.cpp | 5 +++++ src/FileIO/SrdRideFile.cpp | 7 +++++++ src/FileIO/SyncRideFile.cpp | 4 ++++ src/FileIO/WkoRideFile.cpp | 7 +++++++ src/Gui/DownloadRideDialog.cpp | 5 +++++ src/Train/AddDeviceWizard.cpp | 5 +++++ src/Train/BicycleSim.cpp | 4 ++-- src/Train/RealtimeController.cpp | 5 +++++ src/Train/RealtimeData.cpp | 5 +++++ 17 files changed, 89 insertions(+), 2 deletions(-) diff --git a/src/ANT/ANTChannel.cpp b/src/ANT/ANTChannel.cpp index 8ed09fd71..2340af32a 100644 --- a/src/ANT/ANTChannel.cpp +++ b/src/ANT/ANTChannel.cpp @@ -22,6 +22,11 @@ #include #include +#ifdef Q_CC_MSVC +// 'strcpy': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif + static float timeout_blanking=2.0; // time before reporting stale data, seconds static float timeout_drop=2.0; // time before reporting dropped message static float timeout_scan=10.0; // time to do initial scan diff --git a/src/Core/DataFilter.l b/src/Core/DataFilter.l index b4c0d21cf..aa0024ca5 100644 --- a/src/Core/DataFilter.l +++ b/src/Core/DataFilter.l @@ -26,6 +26,11 @@ // need to get rid of this and use a string... #include +#ifdef Q_CC_MSVC +// 'strcpy': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif + #ifdef YY_FLEX_SUBMINOR_VERSION # define YY_FLEX_VERSION \ (YY_FLEX_MAJOR_VERSION) * 1000000 \ diff --git a/src/Core/main.cpp b/src/Core/main.cpp index fa9105d2f..a3e85edfe 100644 --- a/src/Core/main.cpp +++ b/src/Core/main.cpp @@ -60,6 +60,13 @@ #include #endif +#ifdef Q_CC_MSVC +// 'freopen': This function or variable may be unsafe. +// 'fileno': The POSIX name for this item is deprecated. +// 'dup2': The POSIX name for this item is deprecated. +#pragma warning(disable:4996) +#endif + // // bootstrap state // diff --git a/src/FileIO/JouleDevice.cpp b/src/FileIO/JouleDevice.cpp index 210f27ebe..9c377bcd3 100644 --- a/src/FileIO/JouleDevice.cpp +++ b/src/FileIO/JouleDevice.cpp @@ -24,6 +24,11 @@ #include //#include +#ifdef Q_CC_MSVC +// 'sprintf': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif + #define JOULE_DEBUG false // debug traces // Start pattern diff --git a/src/FileIO/MacroDevice.cpp b/src/FileIO/MacroDevice.cpp index a6b66aa67..8e3103e88 100644 --- a/src/FileIO/MacroDevice.cpp +++ b/src/FileIO/MacroDevice.cpp @@ -23,6 +23,11 @@ #include #include +#ifdef Q_CC_MSVC +// 'sprintf': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif + #define MACRO_DEBUG false #define UNKNOWN 0x00 diff --git a/src/FileIO/MoxyDevice.cpp b/src/FileIO/MoxyDevice.cpp index 045b82bbc..63113d8c7 100644 --- a/src/FileIO/MoxyDevice.cpp +++ b/src/FileIO/MoxyDevice.cpp @@ -26,6 +26,11 @@ #include #include +#ifdef Q_CC_MSVC +// 'sprintf': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif + static bool moxyRegistered = Devices::addType("Moxy Muscle Oxygen Monitor", DevicesPtr(new MoxyDevices()) ); diff --git a/src/FileIO/PowerTapDevice.cpp b/src/FileIO/PowerTapDevice.cpp index ff14cef2d..1e88d1a6c 100644 --- a/src/FileIO/PowerTapDevice.cpp +++ b/src/FileIO/PowerTapDevice.cpp @@ -21,6 +21,11 @@ #include #include "assert.h" +#ifdef Q_CC_MSVC +// 'sprintf': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif + #define PT_DEBUG false static bool powerTapRegistered = diff --git a/src/FileIO/RawRideFile.cpp b/src/FileIO/RawRideFile.cpp index 5f6ec2e14..b33c1cf37 100644 --- a/src/FileIO/RawRideFile.cpp +++ b/src/FileIO/RawRideFile.cpp @@ -30,6 +30,13 @@ #define DUP(fd) dup(fd) #endif +#ifdef Q_CC_MSVC +// 'fscanf': This function or variable may be unsafe. +// 'sprintf': This function or variable may be unsafe. +// 'fdopen': The POSIX name for this item is deprecated. +#pragma warning(disable:4996) +#endif + static int rawFileReaderRegistered = RideFileFactory::instance().registerReader( "raw", "GoldenCheetah Raw PowerTap Format", new RawFileReader()); diff --git a/src/FileIO/Serial.cpp b/src/FileIO/Serial.cpp index 76bc2041c..bbdfec5e9 100644 --- a/src/FileIO/Serial.cpp +++ b/src/FileIO/Serial.cpp @@ -43,6 +43,11 @@ #include #endif +#ifdef Q_CC_MSVC +// 'strcpy': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif + bool SerialRegistered = CommPort::addListFunction(&Serial::myListCommPorts); #ifdef Q_OS_WIN32 diff --git a/src/FileIO/SrdRideFile.cpp b/src/FileIO/SrdRideFile.cpp index 73e1be25b..80a921555 100644 --- a/src/FileIO/SrdRideFile.cpp +++ b/src/FileIO/SrdRideFile.cpp @@ -32,6 +32,13 @@ #include #include +#ifdef Q_CC_MSVC +// '_open': This function or variable may be unsafe. +// 'strcpy': This function or variable may be unsafe. +// 'strerror': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif + static int srdFileReaderRegistered = RideFileFactory::instance().registerReader( "srd", "Polar SRD files", new SrdFileReader()); diff --git a/src/FileIO/SyncRideFile.cpp b/src/FileIO/SyncRideFile.cpp index 3b3656946..e4c4955b1 100644 --- a/src/FileIO/SyncRideFile.cpp +++ b/src/FileIO/SyncRideFile.cpp @@ -24,6 +24,10 @@ #include #include +#ifdef Q_CC_MSVC +// 'sprintf': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif static int syncFileReaderRegistered = RideFileFactory::instance().registerReader( diff --git a/src/FileIO/WkoRideFile.cpp b/src/FileIO/WkoRideFile.cpp index 306bd1cc1..9eb150405 100644 --- a/src/FileIO/WkoRideFile.cpp +++ b/src/FileIO/WkoRideFile.cpp @@ -26,6 +26,13 @@ #include // for std::sort #include "cmath" +#ifdef Q_CC_MSVC +// 'sprintf': This function or variable may be unsafe. +// 'strcpy': This function or variable may be unsafe. +// 'strncpy': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif + static int wkoFileReaderRegistered = RideFileFactory::instance().registerReader( "wko", "WKO+ Files", new WkoFileReader()); diff --git a/src/Gui/DownloadRideDialog.cpp b/src/Gui/DownloadRideDialog.cpp index 1a26c0204..02f56a82e 100644 --- a/src/Gui/DownloadRideDialog.cpp +++ b/src/Gui/DownloadRideDialog.cpp @@ -31,6 +31,11 @@ #include #include +#ifdef Q_CC_MSVC +// 'strerror': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif + DownloadRideDialog::DownloadRideDialog(Context *context, bool embedded) : context(context), cancelled(false), action(actionIdle), embedded(embedded) diff --git a/src/Train/AddDeviceWizard.cpp b/src/Train/AddDeviceWizard.cpp index c0dad9e0c..ed9287407 100644 --- a/src/Train/AddDeviceWizard.cpp +++ b/src/Train/AddDeviceWizard.cpp @@ -27,6 +27,11 @@ #include "RealtimeController.h" // for power trainer definitions #include "MultiRegressionizer.h" +#ifdef Q_CC_MSVC +// 'strcpy': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif + // WIZARD FLOW // // 10. Select Device Type diff --git a/src/Train/BicycleSim.cpp b/src/Train/BicycleSim.cpp index 446703e23..8df6194b0 100644 --- a/src/Train/BicycleSim.cpp +++ b/src/Train/BicycleSim.cpp @@ -1,4 +1,4 @@ -/* +/* * Copyright (c) 2019 Eric Christoffersen (impolexg@outlook.com) * * This program is free software; you can redistribute it and/or modify it @@ -29,7 +29,7 @@ const PolyFit* GetAltitudeFit(unsigned maxOrder) { #if 1 // Data from : Prediction of Critical Powerand W? in Hypoxia : Application to Work - Balance Modelling - // by Nathan E.Townsend1, David S.Nichols, Philip F.Skiba, Sebastien Racinais and Julien D.Périard + // by Nathan E.Townsend1, David S.Nichols, Philip F.Skiba, Sebastien Racinais and Julien D.Périard // // Data in paper doesn't exceed 4250m. Cubic equation in paper decreases slope after 5000m, which doesn't // make sense, so using best fit 3rd order rational instead. Our equation continues at constant slope from diff --git a/src/Train/RealtimeController.cpp b/src/Train/RealtimeController.cpp index 0b64bc12e..d414496df 100644 --- a/src/Train/RealtimeController.cpp +++ b/src/Train/RealtimeController.cpp @@ -21,6 +21,11 @@ #include "RealtimeData.h" #include "Units.h" +#ifdef Q_CC_MSVC +// 'strcpy': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif + void VirtualPowerTrainer::to_string(std::string& s) const { // poly|wheelrpm|name s.clear(); diff --git a/src/Train/RealtimeData.cpp b/src/Train/RealtimeData.cpp index ef6188730..ebd190cf4 100644 --- a/src/Train/RealtimeData.cpp +++ b/src/Train/RealtimeData.cpp @@ -22,6 +22,11 @@ #include +#ifdef Q_CC_MSVC +// 'strcpy': This function or variable may be unsafe. +#pragma warning(disable:4996) +#endif + RealtimeData::RealtimeData() { name[0] = '\0';