[Midnightbsd-cvs] mports [23291] trunk/www/libxul/files: add more patches
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Tue May 1 08:32:08 EDT 2018
Revision: 23291
http://svnweb.midnightbsd.org/mports/?rev=23291
Author: laffer1
Date: 2018-05-01 08:32:07 -0400 (Tue, 01 May 2018)
Log Message:
-----------
add more patches
Added Paths:
-----------
trunk/www/libxul/files/patch-bug1232150
trunk/www/libxul/files/patch-bug1290037
trunk/www/libxul/files/patch-bug1320621
trunk/www/libxul/files/patch-bug1320991
trunk/www/libxul/files/patch-bug1321877
trunk/www/libxul/files/patch-bug757366
Added: trunk/www/libxul/files/patch-bug1232150
===================================================================
--- trunk/www/libxul/files/patch-bug1232150 (rev 0)
+++ trunk/www/libxul/files/patch-bug1232150 2018-05-01 12:32:07 UTC (rev 23291)
@@ -0,0 +1,280 @@
+commit 9a18802e82c7
+Author: Martin Husemann <martin>
+Date: Fri Jan 22 00:09:00 2016 +0100
+
+ Bug 1232150 - "Atomic operations for PPC/PPC64". r=lhansen
+---
+ js/src/jit/AtomicOperations.h | 2 +
+ js/src/jit/none/AtomicOperations-sparc.h | 251 +++++++++++++++++++++++++++++++
+ 2 files changed, 253 insertions(+)
+
+diff --git js/src/jit/AtomicOperations.h js/src/jit/AtomicOperations.h
+index 16196342a282..42aee72eb879 100644
+--- js/src/jit/AtomicOperations.h
++++ js/src/jit/AtomicOperations.h
+@@ -328,6 +328,8 @@ AtomicOperations::isLockfree(int32_t size)
+ # include "jit/mips-shared/AtomicOperations-mips-shared.h"
+ #elif defined(__ppc__) || defined(__PPC__)
+ # include "jit/none/AtomicOperations-ppc.h"
++#elif defined(__sparc__)
++# include "jit/none/AtomicOperations-sparc.h"
+ #elif defined(JS_CODEGEN_NONE)
+ // You can disable the JIT with --disable-ion but you must still
+ // provide the atomic operations that will be used by the JS engine.
+diff --git js/src/jit/none/AtomicOperations-sparc.h js/src/jit/none/AtomicOperations-sparc.h
+new file mode 100644
+index 000000000000..706ada86241b
+--- /dev/null
++++ js/src/jit/none/AtomicOperations-sparc.h
+@@ -0,0 +1,251 @@
++/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
++ * vim: set ts=8 sts=4 et sw=4 tw=99:
++ * This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++/* For documentation, see jit/AtomicOperations.h */
++
++#ifndef jit_sparc_AtomicOperations_sparc_h
++#define jit_sparc_AtomicOperations_sparc_h
++
++#include "mozilla/Assertions.h"
++#include "mozilla/Types.h"
++
++#if defined(__clang__) || defined(__GNUC__)
++
++// The default implementation tactic for gcc/clang is to use the newer
++// __atomic intrinsics added for use in C++11 <atomic>. Where that
++// isn't available, we use GCC's older __sync functions instead.
++//
++// ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS is kept as a backward
++// compatible option for older compilers: enable this to use GCC's old
++// __sync functions instead of the newer __atomic functions. This
++// will be required for GCC 4.6.x and earlier, and probably for Clang
++// 3.1, should we need to use those versions.
++
++//#define ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++
++inline bool
++js::jit::AtomicOperations::isLockfree8()
++{
++# ifndef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int8_t), 0));
++ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int16_t), 0));
++ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int32_t), 0));
++# if defined(__LP64__)
++ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int64_t), 0));
++# endif
++ return true;
++# else
++ return false;
++# endif
++}
++
++inline void
++js::jit::AtomicOperations::fenceSeqCst()
++{
++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++ __sync_synchronize();
++# else
++ __atomic_thread_fence(__ATOMIC_SEQ_CST);
++# endif
++}
++
++template<typename T>
++inline T
++js::jit::AtomicOperations::loadSeqCst(T* addr)
++{
++ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8());
++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++ __sync_synchronize();
++ T v = *addr;
++ __sync_synchronize();
++# else
++ T v;
++ __atomic_load(addr, &v, __ATOMIC_SEQ_CST);
++# endif
++ return v;
++}
++
++template<typename T>
++inline void
++js::jit::AtomicOperations::storeSeqCst(T* addr, T val)
++{
++ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8());
++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++ __sync_synchronize();
++ *addr = val;
++ __sync_synchronize();
++# else
++ __atomic_store(addr, &val, __ATOMIC_SEQ_CST);
++# endif
++}
++
++template<typename T>
++inline T
++js::jit::AtomicOperations::compareExchangeSeqCst(T* addr, T oldval, T newval)
++{
++ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8());
++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++ return __sync_val_compare_and_swap(addr, oldval, newval);
++# else
++ __atomic_compare_exchange(addr, &oldval, &newval, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
++ return oldval;
++# endif
++}
++
++template<typename T>
++inline T
++js::jit::AtomicOperations::fetchAddSeqCst(T* addr, T val)
++{
++#if !defined( __LP64__)
++ static_assert(sizeof(T) <= 4, "not available for 8-byte values yet");
++#endif
++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++ return __sync_fetch_and_add(addr, val);
++# else
++ return __atomic_fetch_add(addr, val, __ATOMIC_SEQ_CST);
++# endif
++}
++
++template<typename T>
++inline T
++js::jit::AtomicOperations::fetchSubSeqCst(T* addr, T val)
++{
++#if !defined( __LP64__)
++ static_assert(sizeof(T) <= 4, "not available for 8-byte values yet");
++#endif
++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++ return __sync_fetch_and_sub(addr, val);
++# else
++ return __atomic_fetch_sub(addr, val, __ATOMIC_SEQ_CST);
++# endif
++}
++
++template<typename T>
++inline T
++js::jit::AtomicOperations::fetchAndSeqCst(T* addr, T val)
++{
++#if !defined( __LP64__)
++ static_assert(sizeof(T) <= 4, "not available for 8-byte values yet");
++#endif
++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++ return __sync_fetch_and_and(addr, val);
++# else
++ return __atomic_fetch_and(addr, val, __ATOMIC_SEQ_CST);
++# endif
++}
++
++template<typename T>
++inline T
++js::jit::AtomicOperations::fetchOrSeqCst(T* addr, T val)
++{
++#if !defined( __LP64__)
++ static_assert(sizeof(T) <= 4, "not available for 8-byte values yet");
++#endif
++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++ return __sync_fetch_and_or(addr, val);
++# else
++ return __atomic_fetch_or(addr, val, __ATOMIC_SEQ_CST);
++# endif
++}
++
++template<typename T>
++inline T
++js::jit::AtomicOperations::fetchXorSeqCst(T* addr, T val)
++{
++#if !defined( __LP64__)
++ static_assert(sizeof(T) <= 4, "not available for 8-byte values yet");
++#endif
++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++ return __sync_fetch_and_xor(addr, val);
++# else
++ return __atomic_fetch_xor(addr, val, __ATOMIC_SEQ_CST);
++# endif
++}
++
++template<typename T>
++inline T
++js::jit::AtomicOperations::loadSafeWhenRacy(T* addr)
++{
++ return *addr; // FIXME (1208663): not yet safe
++}
++
++template<typename T>
++inline void
++js::jit::AtomicOperations::storeSafeWhenRacy(T* addr, T val)
++{
++ *addr = val; // FIXME (1208663): not yet safe
++}
++
++inline void
++js::jit::AtomicOperations::memcpySafeWhenRacy(void* dest, const void* src, size_t nbytes)
++{
++ ::memcpy(dest, src, nbytes); // FIXME (1208663): not yet safe
++}
++
++inline void
++js::jit::AtomicOperations::memmoveSafeWhenRacy(void* dest, const void* src, size_t nbytes)
++{
++ ::memmove(dest, src, nbytes); // FIXME (1208663): not yet safe
++}
++
++template<typename T>
++inline T
++js::jit::AtomicOperations::exchangeSeqCst(T* addr, T val)
++{
++ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8());
++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++ T v;
++ __sync_synchronize();
++ do {
++ v = *addr;
++ } while (__sync_val_compare_and_swap(addr, v, val) != v);
++ return v;
++# else
++ T v;
++ __atomic_exchange(addr, &val, &v, __ATOMIC_SEQ_CST);
++ return v;
++# endif
++}
++
++template<size_t nbytes>
++inline void
++js::jit::RegionLock::acquire(void* addr)
++{
++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++ while (!__sync_bool_compare_and_swap(&spinlock, 0, 1))
++ ;
++# else
++ uint32_t zero = 0;
++ uint32_t one = 1;
++ while (!__atomic_compare_exchange(&spinlock, &zero, &one, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE)) {
++ zero = 0;
++ continue;
++ }
++# endif
++}
++
++template<size_t nbytes>
++inline void
++js::jit::RegionLock::release(void* addr)
++{
++ MOZ_ASSERT(AtomicOperations::loadSeqCst(&spinlock) == 1, "releasing unlocked region lock");
++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++ __sync_sub_and_fetch(&spinlock, 1);
++# else
++ uint32_t zero = 0;
++ __atomic_store(&spinlock, &zero, __ATOMIC_SEQ_CST);
++# endif
++}
++
++# undef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
++
++#elif defined(ENABLE_SHARED_ARRAY_BUFFER)
++
++# error "Either disable JS shared memory, use GCC or Clang, or add code here"
++
++#endif
++
++#endif // jit_sparc_AtomicOperations_sparc_h
Property changes on: trunk/www/libxul/files/patch-bug1232150
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/libxul/files/patch-bug1290037
===================================================================
--- trunk/www/libxul/files/patch-bug1290037 (rev 0)
+++ trunk/www/libxul/files/patch-bug1290037 2018-05-01 12:32:07 UTC (rev 23291)
@@ -0,0 +1,29 @@
+commit 7943c27406fb
+Author: Franziskus Kiefer <franziskuskiefer at gmail.com>
+Date: Thu Jul 28 16:48:00 2016 +0200
+
+ Bug 1290037 - Update keybits in H2, r=mt
+
+ MozReview-Commit-ID: 35oWoDMqe1Y
+
+ --HG--
+ extra : rebase_source : 020fbd93c190131eb04eed2d583787d6e5954a5a
+---
+ netwerk/protocol/http/Http2Session.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git netwerk/protocol/http/Http2Session.cpp netwerk/protocol/http/Http2Session.cpp
+index dbcc1115cbd3..f3cd57304f73 100644
+--- netwerk/protocol/http/Http2Session.cpp
++++ netwerk/protocol/http/Http2Session.cpp
+@@ -3549,8 +3549,8 @@ Http2Session::ConfirmTLSProfile()
+ LOG3(("Http2Session::ConfirmTLSProfile %p FAILED due to DH %d < 2048\n",
+ this, keybits));
+ RETURN_SESSION_ERROR(this, INADEQUATE_SECURITY);
+- } else if (kea == ssl_kea_ecdh && keybits < 256) { // 256 bits is "security level" of 128
+- LOG3(("Http2Session::ConfirmTLSProfile %p FAILED due to ECDH %d < 256\n",
++ } else if (kea == ssl_kea_ecdh && keybits < 224) { // see rfc7540 9.2.1.
++ LOG3(("Http2Session::ConfirmTLSProfile %p FAILED due to ECDH %d < 224\n",
+ this, keybits));
+ RETURN_SESSION_ERROR(this, INADEQUATE_SECURITY);
+ }
Property changes on: trunk/www/libxul/files/patch-bug1290037
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/libxul/files/patch-bug1320621
===================================================================
--- trunk/www/libxul/files/patch-bug1320621 (rev 0)
+++ trunk/www/libxul/files/patch-bug1320621 2018-05-01 12:32:07 UTC (rev 23291)
@@ -0,0 +1,39 @@
+Make sure --enable-system-hunspell picks up system headers
+
+--- extensions/spellcheck/hunspell/glue/moz.build
++++ extensions/spellcheck/hunspell/glue/moz.build
+@@ -11,12 +11,14 @@ UNIFIED_SOURCES += [
+ 'RemoteSpellCheckEngineParent.cpp',
+ ]
+
+-CXXFLAGS += CONFIG['MOZ_HUNSPELL_CFLAGS']
+-
+ FINAL_LIBRARY = 'xul'
+
++if CONFIG['MOZ_NATIVE_HUNSPELL']:
++ CXXFLAGS += CONFIG['MOZ_HUNSPELL_CFLAGS']
++else:
++ LOCAL_INCLUDES += ['../src']
++
+ LOCAL_INCLUDES += [
+- '../src',
+ '/dom/base',
+ '/extensions/spellcheck/src',
+ ]
+--- extensions/spellcheck/src/moz.build
++++ extensions/spellcheck/src/moz.build
+@@ -17,9 +17,13 @@ UNIFIED_SOURCES += [
+
+ FINAL_LIBRARY = 'xul'
+
++if CONFIG['MOZ_NATIVE_HUNSPELL']:
++ CXXFLAGS += CONFIG['MOZ_HUNSPELL_CFLAGS']
++else:
++ LOCAL_INCLUDES += ['../hunspell/src']
++
+ LOCAL_INCLUDES += [
+ '../hunspell/glue',
+- '../hunspell/src',
+ '/dom/base',
+ ]
+ EXPORTS.mozilla += [
Property changes on: trunk/www/libxul/files/patch-bug1320621
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/libxul/files/patch-bug1320991
===================================================================
--- trunk/www/libxul/files/patch-bug1320991 (rev 0)
+++ trunk/www/libxul/files/patch-bug1320991 2018-05-01 12:32:07 UTC (rev 23291)
@@ -0,0 +1,43 @@
+commit 454e2dbe1b4f
+Author: Mike Shal <mshal at mozilla.com>
+Date: Tue Dec 20 16:37:18 2016 -0500
+
+ Bug 1320991 - Support --with-system-{nss,nspr} in modules/libmar; r?glandium
+
+ The problem with the modules/libmar/tests/moz.build file when building
+ --with-system-nspr and --with-system-nss is that the nss libraries don't
+ exist in the tree, so they fail when trying to copy into the test
+ directory.
+
+ However, it turns out that the libraries copied into the test directory
+ aren't even used when building with an in-tree copy, because the
+ xpcshell launcher sets LD_LIBRARY_PATH to point to dist/bin. Since we
+ use the dist/bin copies anyway for an in-tree build, we can stop copying
+ them into the test directory and simultaneously fix the --with-system
+ build.
+
+ The DEFINES can also go away since this directory doesn't actually build
+ anything.
+
+ MozReview-Commit-ID: Bk2f28wc9ZJ
+---
+ modules/libmar/tests/moz.build | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+diff --git modules/libmar/tests/moz.build modules/libmar/tests/moz.build
+index ee72571b0c6b..9642553e8aa2 100644
+--- modules/libmar/tests/Makefile.in
++++ modules/libmar/tests/Makefile.in
+@@ -10,12 +10,5 @@ ifneq ($(OS_TARGET),Android)
+ ifndef MOZ_PROFILE_GENERATE
+ libs::
+ $(INSTALL) ../tool/signmar$(BIN_SUFFIX) $(TESTROOT)/unit
+- $(INSTALL) $(DEPTH)/dist/bin/$(DLL_PREFIX)nss3$(DLL_SUFFIX) $(TESTROOT)/unit
+-ifndef MOZ_FOLD_LIBS
+- $(INSTALL) $(DEPTH)/dist/bin/$(DLL_PREFIX)nssutil3$(DLL_SUFFIX) $(TESTROOT)/unit
+- $(INSTALL) $(DEPTH)/dist/bin/$(DLL_PREFIX)plc4$(DLL_SUFFIX) $(TESTROOT)/unit
+- $(INSTALL) $(DEPTH)/dist/bin/$(DLL_PREFIX)nspr4$(DLL_SUFFIX) $(TESTROOT)/unit
+- $(INSTALL) $(DEPTH)/dist/bin/$(DLL_PREFIX)plds4$(DLL_SUFFIX) $(TESTROOT)/unit
+-endif
+ endif
+ endif # Not Android
Property changes on: trunk/www/libxul/files/patch-bug1320991
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/libxul/files/patch-bug1321877
===================================================================
--- trunk/www/libxul/files/patch-bug1321877 (rev 0)
+++ trunk/www/libxul/files/patch-bug1321877 2018-05-01 12:32:07 UTC (rev 23291)
@@ -0,0 +1,42 @@
+commit a13d95795217
+Author: <tharvik at gmail.com>
+Date: Thu Dec 8 18:20:12 2016 -0600
+
+ Bug 1321877. Fix compiler warnings in Downscaler.h when skia is not enabled. r=tnikkel
+---
+ image/Downscaler.h | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git image/Downscaler.h image/Downscaler.h
+index 21179a38f200..0bdef0eaa646 100644
+--- image/Downscaler.h
++++ image/Downscaler.h
+@@ -154,14 +154,14 @@ private:
+ class Downscaler
+ {
+ public:
+- explicit Downscaler(const nsIntSize&)
++ explicit Downscaler(const nsIntSize&) : mScale(1.0, 1.0)
+ {
+ MOZ_RELEASE_ASSERT(false, "Skia is not enabled");
+ }
+
+- const nsIntSize& OriginalSize() const { return nsIntSize(); }
+- const nsIntSize& TargetSize() const { return nsIntSize(); }
+- const gfxSize& Scale() const { return gfxSize(1.0, 1.0); }
++ const nsIntSize& OriginalSize() const { return mSize; }
++ const nsIntSize& TargetSize() const { return mSize; }
++ const gfxSize& Scale() const { return mScale; }
+
+ nsresult BeginFrame(const nsIntSize&, const Maybe<nsIntRect>&, uint8_t*, bool, bool = false)
+ {
+@@ -177,6 +177,9 @@ public:
+ DownscalerInvalidRect TakeInvalidRect() { return DownscalerInvalidRect(); }
+ void ResetForNextProgressivePass() { }
+ const nsIntSize FrameSize() const { return nsIntSize(0, 0); }
++private:
++ nsIntSize mSize;
++ gfxSize mScale;
+ };
+
+ #endif // MOZ_ENABLE_SKIA
Property changes on: trunk/www/libxul/files/patch-bug1321877
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/libxul/files/patch-bug757366
===================================================================
--- trunk/www/libxul/files/patch-bug757366 (rev 0)
+++ trunk/www/libxul/files/patch-bug757366 2018-05-01 12:32:07 UTC (rev 23291)
@@ -0,0 +1,58 @@
+commit 2a3be4b384b9
+Author: Jonathan Kew <jkew at mozilla.com>
+Date: Mon Sep 26 18:05:14 2016 +0100
+
+ Bug 757366 - Don't cast pointers to 'name'-table data to uint16_t*, as they may not be 16-bit-aligned. r=jrmuizel
+---
+ gfx/thebes/gfxFontUtils.cpp | 26 ++++++++++++++------------
+ 1 file changed, 14 insertions(+), 12 deletions(-)
+
+diff --git gfx/thebes/gfxFontUtils.cpp gfx/thebes/gfxFontUtils.cpp
+index 526e17d..cb505e8 100644
+--- gfx/thebes/gfxFontUtils.cpp
++++ gfx/thebes/gfxFontUtils.cpp
+@@ -918,16 +918,18 @@ IsValidSFNTVersion(uint32_t version)
+ version == TRUETYPE_TAG('t','r','u','e');
+ }
+
+-// copy and swap UTF-16 values, assume no surrogate pairs, can be in place
++// Copy and swap UTF-16 values, assume no surrogate pairs, can be in place.
++// aInBuf and aOutBuf are NOT necessarily 16-bit-aligned, so we should avoid
++// accessing them directly as uint16_t* values.
++// aLen is count of UTF-16 values, so the byte buffers are twice that.
+ static void
+-CopySwapUTF16(const uint16_t *aInBuf, uint16_t *aOutBuf, uint32_t aLen)
++CopySwapUTF16(const char* aInBuf, char* aOutBuf, uint32_t aLen)
+ {
+- const uint16_t *end = aInBuf + aLen;
++ const char* end = aInBuf + aLen * 2;
+ while (aInBuf < end) {
+- uint16_t value = *aInBuf;
+- *aOutBuf = (value >> 8) | (value & 0xff) << 8;
+- aOutBuf++;
+- aInBuf++;
++ uint8_t b0 = *aInBuf++;
++ *aOutBuf++ = *aInBuf++;
++ *aOutBuf++ = b0;
+ }
+ }
+
+@@ -1446,13 +1448,13 @@ gfxFontUtils::DecodeFontName(const char *aNameData, int32_t aByteLen,
+ if (csName[0] == 0) {
+ // empty charset name: data is utf16be, no need to instantiate a converter
+ uint32_t strLen = aByteLen / 2;
+-#ifdef IS_LITTLE_ENDIAN
+ aName.SetLength(strLen);
+- CopySwapUTF16(reinterpret_cast<const uint16_t*>(aNameData),
+- reinterpret_cast<uint16_t*>(aName.BeginWriting()), strLen);
++#ifdef IS_LITTLE_ENDIAN
++ CopySwapUTF16(aNameData, reinterpret_cast<char*>(aName.BeginWriting()),
++ strLen);
+ #else
+- aName.Assign(reinterpret_cast<const char16_t*>(aNameData), strLen);
+-#endif
++ memcpy(aName.BeginWriting(), aNameData, strLen * 2);
++#endif
+ return true;
+ }
+
Property changes on: trunk/www/libxul/files/patch-bug757366
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
More information about the Midnightbsd-cvs
mailing list