dawn_node: Fixes for GPU.cpp
Check the result of std::getenv() before constructing a std::string.
std::string cannot be constructed with nullptr.
Fix ambiguous overload resolution of std::tolower(), by wrapping it in a
lambda that explicitly takes a 'char' argument.
Bug: dawn:1123
Change-Id: I8a44524a6c0e71f7d2a49a5a9f730115c32df577
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/65960
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/dawn_node/binding/GPU.cpp b/src/dawn_node/binding/GPU.cpp
index c4ba2a3..cf22465 100644
--- a/src/dawn_node/binding/GPU.cpp
+++ b/src/dawn_node/binding/GPU.cpp
@@ -31,7 +31,10 @@
}
return "";
#else
- return std::getenv(varName);
+ if (auto* val = std::getenv(varName)) {
+ return val;
+ }
+ return "";
#endif
}
} // namespace
@@ -81,7 +84,8 @@
// Check for override from env var
std::string envVar = getEnvVar("DAWNNODE_BACKEND");
- std::transform(envVar.begin(), envVar.end(), envVar.begin(), std::tolower);
+ std::transform(envVar.begin(), envVar.end(), envVar.begin(),
+ [](char c) { return std::tolower(c); });
if (envVar == "null") {
targetBackendType = wgpu::BackendType::Null;
} else if (envVar == "webgpu") {