Merge pull request #10386 from deannagarcia/protocVersion

Use protoc version for --version
pull/10392/head
Matt Fowles Kulukundis 3 years ago committed by GitHub
commit d0fb49d994
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/google/protobuf/compiler/command_line_interface.cc
  2. 16
      src/google/protobuf/stubs/common.cc
  3. 3
      src/google/protobuf/stubs/common.h

@ -1844,7 +1844,7 @@ CommandLineInterface::InterpretArgument(const std::string& name,
if (!version_info_.empty()) {
std::cout << version_info_ << std::endl;
}
std::cout << "libprotoc " << internal::VersionString(PROTOBUF_VERSION)
std::cout << "libprotoc " << internal::ProtocVersionString(PROTOBUF_VERSION)
<< PROTOBUF_VERSION_SUFFIX << std::endl;
return PARSE_ARGUMENT_DONE_AND_EXIT; // Exit without running compiler.

@ -108,6 +108,22 @@ std::string VersionString(int version) {
return buffer;
}
std::string ProtocVersionString(int version) {
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
// ===================================================================

@ -108,6 +108,9 @@ void PROTOBUF_EXPORT VerifyVersion(int headerVersion, int minLibraryVersion,
// Converts a numeric version number to a string.
std::string PROTOBUF_EXPORT VersionString(int version);
// Prints the protoc compiler version (no major version)
std::string PROTOBUF_EXPORT ProtocVersionString(int version);
} // namespace internal
// Place this macro in your main() function (or somewhere before you attempt

Loading…
Cancel
Save