Kaynağa Gözat

COMP: Don't emit old style cast warning when configured as C++ but still allow being configured as C. Thanks to Monsieur Francois Bertel for the patch.

David Cole 17 yıl önce
ebeveyn
işleme
95a6feaa66
1 değiştirilmiş dosya ile 14 ekleme ve 2 silme
  1. 14 2
      Templates/TestDriver.cxx.in

+ 14 - 2
Templates/TestDriver.cxx.in

@@ -29,7 +29,14 @@ functionMapEntry cmakeGeneratedFunctionMapEntries[] = {
 char* lowercase(const char *string)
 {
   char *new_string, *p;
-  new_string = (char *)malloc(sizeof(char) * (size_t)(strlen(string) + 1));
+
+#ifdef __cplusplus
+  new_string = static_cast<char *>(malloc(sizeof(char) *
+    static_cast<size_t>(strlen(string) + 1)));
+#else
+  new_string = (char *)(malloc(sizeof(char) * (size_t)(strlen(string) + 1)));
+#endif
+
   if (!new_string)
     {
     return 0;
@@ -38,7 +45,12 @@ char* lowercase(const char *string)
   p = new_string;
   while (*p != 0)
     {
-    *p = (char)tolower(*p);
+#ifdef __cplusplus
+    *p = static_cast<char>(tolower(*p));
+#else
+    *p = (char)(tolower(*p));
+#endif
+
     ++p;
     }
   return new_string;