From b8712d1a55673380e3960fa5212952eeac05cf5d Mon Sep 17 00:00:00 2001 From: Deanna Garcia Date: Wed, 10 Aug 2022 23:41:45 +0000 Subject: [PATCH] Update to have two distinct methods --- src/google/protobuf/stubs/common.cc | 22 +++++++++++++++------- src/google/protobuf/stubs/common.h | 4 +--- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/google/protobuf/stubs/common.cc b/src/google/protobuf/stubs/common.cc index 5e6ce70828..3fa3d04c75 100644 --- a/src/google/protobuf/stubs/common.cc +++ b/src/google/protobuf/stubs/common.cc @@ -92,7 +92,7 @@ void VerifyVersion(int headerVersion, } } -std::string VersionString(int version, bool cppMajor) { +std::string VersionString(int version) { int major = version / 1000000; int minor = (version / 1000) % 1000; int micro = version % 1000; @@ -100,11 +100,7 @@ std::string VersionString(int version, bool cppMajor) { // 128 bytes should always be enough, but we use snprintf() anyway to be // safe. char buffer[128]; - if (cppMajor) { - snprintf(buffer, sizeof(buffer), "%d.%d.%d", major, minor, micro); - } else { - snprintf(buffer, sizeof(buffer), "%d.%d", minor, micro); - } + snprintf(buffer, sizeof(buffer), "%d.%d.%d", major, minor, micro); // Guard against broken MSVC snprintf(). buffer[sizeof(buffer)-1] = '\0'; @@ -113,7 +109,19 @@ std::string VersionString(int version, bool cppMajor) { } std::string ProtocVersionString(int version) { - return VersionString(version, false); + int minor = (version / 1000) % 1000; + int micro = version % 1000; + + // 128 bytes should always be enough, but we use snprintf() anyway to be + // safe. + char buffer[128]; + snprintf(buffer, sizeof(buffer), "%d.%d", minor, micro); + + // Guard against broken MSVC snprintf(). + buffer[sizeof(buffer)-1] = '\0'; + + return buffer; + } } // namespace internal diff --git a/src/google/protobuf/stubs/common.h b/src/google/protobuf/stubs/common.h index 2d6bcf8615..64787684bb 100644 --- a/src/google/protobuf/stubs/common.h +++ b/src/google/protobuf/stubs/common.h @@ -106,9 +106,7 @@ void PROTOBUF_EXPORT VerifyVersion(int headerVersion, int minLibraryVersion, const char* filename); // Converts a numeric version number to a string. -// If cppMajor is true the string will have the C++ major version, otherwise -// the string will be the protoc version. -std::string PROTOBUF_EXPORT VersionString(int version, bool cppMajor = true); +std::string PROTOBUF_EXPORT VersionString(int version); // Prints the protoc compiler version (no major version) std::string PROTOBUF_EXPORT ProtocVersionString(int version);