2006-08-31 Anders Carlsson <acarlsson@apple.com>
authorandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 Aug 2006 22:59:26 +0000 (22:59 +0000)
committerandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 Aug 2006 22:59:26 +0000 (22:59 +0000)
        Reviewed by Darin.

        Add new portability functions to MathExtras.h and add StringExtras.h which is for
        string portability functions.

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * bindings/c/c_instance.cpp:
        * kjs/date_object.cpp:
        * wtf/MathExtras.h:
        (copysign):
        (isfinite):
        * wtf/StringExtras.h: Added.
        (snprintf):
        (strncasecmp):

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

JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj
JavaScriptCore/bindings/c/c_instance.cpp
JavaScriptCore/kjs/date_object.cpp
JavaScriptCore/wtf/MathExtras.h
JavaScriptCore/wtf/StringExtras.h [new file with mode: 0644]

index 6f085879b341a7a4ca429c91377401695d8e7c66..76ec9760494ec5379c86ef672a8077c62e412cbd 100644 (file)
                                RelativePath="..\..\wtf\RefPtr.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\..\wtf\StringExtras.h"
+                               >
+                       </File>
                </Filter>
                <Filter
                        Name="PCRE"
index b4a9a9fafdb5e77bb3186b0f2f87103741d7e79f..28ad5b16f733d0d047cdaf87e80f1a7a5bfcf1f9 100644 (file)
 #include "list.h"
 #include "npruntime_impl.h"
 #include <wtf/Vector.h>
-
-#if PLATFORM(WIN_OS)
-#define snprintf _snprintf
-#endif
+#include <wtf/StringExtras.h>
 
 namespace KJS {
 namespace Bindings {
index 28d39466fb63e81562262a46ee04b8ba094383a8..8890ae9d133d66e7eac35a9f3a2820894c1c4d35 100644 (file)
 #include "error_object.h"
 #include "operations.h"
 
+#include <wtf/MathExtras.h>
+#include <wtf/StringExtras.h>
+
 #if PLATFORM(MAC)
 #include <CoreFoundation/CoreFoundation.h>
 #endif
 
-#if PLATFORM(WIN_OS)
-#define copysign(x, y) _copysign(x, y)
-#define isfinite(x) _finite(x)
-#define strncasecmp(x, y, z) strnicmp(x, y, z)
-#define snprintf _snprintf
-#endif
-
 inline int gmtoffset(const tm& t)
 {
 #if PLATFORM(WIN_OS)
index f3264f638b05c71839fccfe28106de6c6cdfa346..d81ff8dc72a99e3214eff38ccd4c4cd024cbbf7c 100644 (file)
@@ -44,6 +44,9 @@ inline bool signbit(double num) { return _copysign(1.0, num) < 0; }
 inline double nextafter(double x, double y) { return _nextafter(x, y); }
 inline float nextafterf(float x, float y) { return x > y ? x - FLT_EPSILON : x + FLT_EPSILON; }
 
+inline double copysign(double x, double y) { return _copysign(x, y); }
+inline int isfinite(double x) { return _finite(x); }
+
 #if COMPILER(MSVC)
 
 // Work around a bug in the Microsoft CRT, where fmod(x, +-infinity) yields NaN instead of x.
diff --git a/JavaScriptCore/wtf/StringExtras.h b/JavaScriptCore/wtf/StringExtras.h
new file mode 100644 (file)
index 0000000..0271944
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include <stdio.h>
+#include <stdarg.h>\r
+
+#if PLATFORM(WIN)
+
+inline int snprintf(char *str, size_t size, const char* format, ...) \r
+{\r
+    va_list args;\r
+    va_start(args, format);\r
+    return _vsnprintf(str, size, format, args);\r
+}
+
+inline int strncasecmp(const char* s1, const char* s2, int len) { return strnicmp(s1, s2, len); }
+
+#endif