2009-01-23 Darin Adler <darin@apple.com>
authordarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 24 Jan 2009 02:39:56 +0000 (02:39 +0000)
committerdarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 24 Jan 2009 02:39:56 +0000 (02:39 +0000)
        Reviewed by Anders Carlsson.

        Bug 23352: Turn on more compiler warnings in the Mac build
        https://bugs.webkit.org/show_bug.cgi?id=23352

        Second patch: Slightly less simple cases of various warnings.

        * bridge/jni/jni_runtime.h:
        (JSC::Bindings::JavaString::_commonInit): Use reinterpret_cast here and avoid casting
        away const.

        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::PendingCallbacks::appendStartElementNSCallback): Use static_cast instead of
        reinterpret_cast; this is casting the result of malloc, and the idiom is to use
        static_cast, which works because we're casting from void*.
        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call): Use const_cast instead
        C-style casts.

        * xml/XSLTUnicodeSort.cpp:
        (inlineXSLTTransformError): Tweak soft linking of xsltTransformError to use a macro
        instead of redefining the function.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@40207 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/bridge/jni/jni_runtime.h
WebCore/dom/XMLTokenizerLibxml2.cpp
WebCore/xml/XSLTUnicodeSort.cpp

index 7b5e796..92e9db2 100644 (file)
@@ -2,6 +2,30 @@
 
         Reviewed by Anders Carlsson.
 
+        Bug 23352: Turn on more compiler warnings in the Mac build
+        https://bugs.webkit.org/show_bug.cgi?id=23352
+
+        Second patch: Slightly less simple cases of various warnings.
+
+        * bridge/jni/jni_runtime.h:
+        (JSC::Bindings::JavaString::_commonInit): Use reinterpret_cast here and avoid casting
+        away const.
+
+        * dom/XMLTokenizerLibxml2.cpp:
+        (WebCore::PendingCallbacks::appendStartElementNSCallback): Use static_cast instead of
+        reinterpret_cast; this is casting the result of malloc, and the idiom is to use
+        static_cast, which works because we're casting from void*.
+        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call): Use const_cast instead
+        C-style casts.
+
+        * xml/XSLTUnicodeSort.cpp:
+        (inlineXSLTTransformError): Tweak soft linking of xsltTransformError to use a macro
+        instead of redefining the function.
+
+2009-01-23  Darin Adler  <darin@apple.com>
+
+        Reviewed by Anders Carlsson.
+
         Bug 23475: fast/text/find-backwards.html fails with ICU disabled SearchBuffer
         https://bugs.webkit.org/show_bug.cgi?id=23475
 
index 5c4ebb9..3697f2b 100644 (file)
@@ -56,7 +56,7 @@ public:
         const jchar *uc = getUCharactersFromJStringInEnv (e, s);
         {
             JSLock lock(false);
-            _rep = UString((UChar *)uc,_size).rep();
+            _rep = UString(reinterpret_cast<const UChar*>(uc), _size).rep();
         }
         releaseUCharactersForJStringInEnv (e, s, uc);
     }
index 9b8c2a8..24ea6e8 100644 (file)
@@ -82,12 +82,12 @@ public:
         callback->xmlPrefix = xmlStrdup(xmlPrefix);
         callback->xmlURI = xmlStrdup(xmlURI);
         callback->nb_namespaces = nb_namespaces;
-        callback->namespaces = reinterpret_cast<xmlChar**>(xmlMalloc(sizeof(xmlChar*) * nb_namespaces * 2));
+        callback->namespaces = static_cast<xmlChar**>(xmlMalloc(sizeof(xmlChar*) * nb_namespaces * 2));
         for (int i = 0; i < nb_namespaces * 2 ; i++)
             callback->namespaces[i] = xmlStrdup(namespaces[i]);
         callback->nb_attributes = nb_attributes;
         callback->nb_defaulted = nb_defaulted;
-        callback->attributes = reinterpret_cast<xmlChar**>(xmlMalloc(sizeof(xmlChar*) * nb_attributes * 5));
+        callback->attributes = static_cast<xmlChar**>(xmlMalloc(sizeof(xmlChar*) * nb_attributes * 5));
         for (int i = 0; i < nb_attributes; i++) {
             // Each attribute has 5 elements in the array:
             // name, prefix, uri, value and an end pointer.
@@ -204,8 +204,8 @@ private:
         
         virtual void call(XMLTokenizer* tokenizer) {
             tokenizer->startElementNs(xmlLocalName, xmlPrefix, xmlURI, 
-                                      nb_namespaces, (const xmlChar**)namespaces,
-                                      nb_attributes, nb_defaulted, (const xmlChar**)(attributes));
+                                      nb_namespaces, const_cast<const xmlChar**>(namespaces),
+                                      nb_attributes, nb_defaulted, const_cast<const xmlChar**>(attributes));
         }
 
         xmlChar* xmlLocalName;
index ed66112..b0b9c72 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
 #if ENABLE(XSLT)
 
 #include "PlatformString.h"
-
 #include <libxslt/templates.h>
 #include <libxslt/xsltutils.h>
-
 #include <wtf/unicode/Collator.h>
 
 #if PLATFORM(MAC)
 #endif
 
 #if PLATFORM(MAC)
+
 SOFT_LINK_LIBRARY(libxslt)
 SOFT_LINK(libxslt, xsltComputeSortResult, xmlXPathObjectPtr*, (xsltTransformContextPtr ctxt, xmlNodePtr sort), (ctxt, sort))
 SOFT_LINK(libxslt, xsltEvalAttrValueTemplate, xmlChar*, (xsltTransformContextPtr ctxt, xmlNodePtr node, const xmlChar *name, const xmlChar *ns), (ctxt, node, name, ns))
 
-static void init_xsltTransformError(xsltTransformContextPtr ctxt, xsltStylesheetPtr style, xmlNodePtr node, const char *, ...) WTF_ATTRIBUTE_PRINTF(4, 5);
-static void (*softLink_xsltTransformError)(xsltTransformContextPtr ctxt, xsltStylesheetPtr style, xmlNodePtr node, const char *, ...) WTF_ATTRIBUTE_PRINTF(4, 5) = init_xsltTransformError;
+static void xsltTransformErrorTrampoline(xsltTransformContextPtr, xsltStylesheetPtr, xmlNodePtr, const char* message, ...) WTF_ATTRIBUTE_PRINTF(4, 5);
 
-static void init_xsltTransformError(xsltTransformContextPtr ctxt, xsltStylesheetPtr style, xmlNodePtr node, const char* msg, ...)
+void xsltTransformErrorTrampoline(xsltTransformContextPtr context, xsltStylesheetPtr style, xmlNodePtr node, const char* message, ...)
 {
-    softLink_xsltTransformError = (void (*) (xsltTransformContextPtr ctxt, xsltStylesheetPtr style, xmlNodePtr node, const char *, ...))dlsym(libxsltLibrary(), "xsltTransformError");
-    ASSERT(softLink_xsltTransformError);
-
     va_list args;
-    va_start(args, msg);
-#if PLATFORM(WIN_OS)
-    char str[1024];
-    vsnprintf(str, sizeof(str) - 1, msg, args);
-#else
-    char* str;
-    vasprintf(&str, msg, args);
-#endif
+    va_start(args, message);
+    char* messageWithArgs;
+    vasprintf(&messageWithArgs, message, args);
     va_end(args);
 
-    softLink_xsltTransformError(ctxt, style, node, "%s", str);
+    static void (*xsltTransformErrorPointer)(xsltTransformContextPtr, xsltStylesheetPtr, xmlNodePtr, const char*, ...) WTF_ATTRIBUTE_PRINTF(4, 5)
+        = reinterpret_cast<void (*)(xsltTransformContextPtr, xsltStylesheetPtr, xmlNodePtr, const char*, ...)>(dlsym(libxsltLibrary(), "xsltTransformError"));
+    xsltTransformErrorPointer(context, style, node, "%s", messageWithArgs);
 
-#if !PLATFORM(WIN_OS)
-    free(str);
-#endif
+    free(messageWithArgs);
 }
 
-inline void xsltTransformError(xsltTransformContextPtr ctxt, xsltStylesheetPtr style, xmlNodePtr node, const char* msg, ...) WTF_ATTRIBUTE_PRINTF(4, 5);
-
-inline void xsltTransformError(xsltTransformContextPtr ctxt, xsltStylesheetPtr style, xmlNodePtr node, const char* msg, ...)
-{
-    va_list args;
-    va_start(args, msg);
-#if PLATFORM(WIN_OS)
-    char str[1024];
-    vsnprintf(str, sizeof(str) - 1, msg, args);
-#else
-    char* str;
-    vasprintf(&str, msg, args);
-#endif
-    va_end(args);
-
-    softLink_xsltTransformError(ctxt, style, node, "%s", str);
-
-#if !PLATFORM(WIN_OS)
-    free(str);
-#endif
-}
+#define xsltTransformError xsltTransformErrorTrampoline
 
 #endif