From fac673bae3558f259421da9832638d91a302aa86 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 19 Jan 2024 19:14:50 -0600 Subject: [PATCH] Fix getting env variables on windows --- src/google/protobuf/compiler/mock_code_generator.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/google/protobuf/compiler/mock_code_generator.cc b/src/google/protobuf/compiler/mock_code_generator.cc index c3291603dd..24f9f34cda 100644 --- a/src/google/protobuf/compiler/mock_code_generator.cc +++ b/src/google/protobuf/compiler/mock_code_generator.cc @@ -72,7 +72,13 @@ static constexpr absl::string_view kSecondInsertionPoint = " # @@protoc_insertion_point(second_mock_insertion_point) is here\n"; MockCodeGenerator::MockCodeGenerator(absl::string_view name) : name_(name) { - absl::string_view key = getenv("TEST_CASE"); + char* c_key = getenv("TEST_CASE"); + if (c_key == NULL) { + // In Windows, setting 'TEST_CASE=' is equivalent to unsetting + // and therefore c_key can be NULL + c_key = ""; + } + absl::string_view key(c_key); if (key == "no_editions") { suppressed_features_ |= CodeGenerator::FEATURE_SUPPORTS_EDITIONS; } else if (key == "invalid_features") {