Publishes GTEST_HAS_STREAM_REDIRECTION (by Vlad Losev); casts char to unsigned char before calling isspace() etc to avoid undefined behavior (by Zhanyong Wan); fixes the VC projects (by Fredrik Roubert).
diff --git a/src/gmock-internal-utils.cc b/src/gmock-internal-utils.cc
index cc51836..9debe18 100644
--- a/src/gmock-internal-utils.cc
+++ b/src/gmock-internal-utils.cc
@@ -57,14 +57,14 @@
   for (const char* p = id_name; *p != '\0'; prev_char = *(p++)) {
     // We don't care about the current locale as the input is
     // guaranteed to be a valid C++ identifier name.
-    const bool starts_new_word = isupper(*p) ||
-        (!isalpha(prev_char) && islower(*p)) ||
-        (!isdigit(prev_char) && isdigit(*p));
+    const bool starts_new_word = IsUpper(*p) ||
+        (!IsAlpha(prev_char) && IsLower(*p)) ||
+        (!IsDigit(prev_char) && IsDigit(*p));
 
-    if (isalnum(*p)) {
+    if (IsAlNum(*p)) {
       if (starts_new_word && result != "")
         result += ' ';
-      result += static_cast<char>(tolower(*p));
+      result += ToLower(*p);
     }
   }
   return result;