mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 709657: Split uconv out of libxul. r=me a=me CLOSED TREE
--HG-- rename : intl/uconv/src/Makefile.in => intl/uconv/datamodule/Makefile.in rename : intl/uconv/src/nsUConvModule.cpp => intl/uconv/datamodule/nsUConvDataModule.cpp
This commit is contained in:
parent
4e0a9c207c
commit
aac6779e29
@ -51,6 +51,9 @@
|
||||
#else
|
||||
@BINPATH@/@DLL_PREFIX@xul@DLL_SUFFIX@
|
||||
#endif
|
||||
#ifdef XP_WIN
|
||||
@BINPATH@/components/@DLL_PREFIX@uconvd@DLL_SUFFIX@
|
||||
#endif
|
||||
#ifdef XP_MACOSX
|
||||
@BINPATH@/@MOZ_CHILD_PROCESS_NAME@.app/
|
||||
@BINPATH@/@DLL_PREFIX@plugin_child_interpose@DLL_SUFFIX@
|
||||
|
96
intl/uconv/datamodule/Makefile.in
Normal file
96
intl/uconv/datamodule/Makefile.in
Normal file
@ -0,0 +1,96 @@
|
||||
# vim:set noet ts=8:
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Netscape Communications Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 1998
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
MODULE = uconvd
|
||||
LIBRARY_NAME = uconvd
|
||||
EXPORT_LIBRARY = 1
|
||||
IS_COMPONENT = 1
|
||||
MODULE_NAME = UConvData
|
||||
ifeq (WINNT,$(OS_TARGET))
|
||||
FORCE_SHARED_LIB = 1
|
||||
else
|
||||
LIBXUL_LIBRARY = 1
|
||||
endif
|
||||
# To avoid conflict with OS/2 system uconv.dll
|
||||
SHORT_LIBNAME = mzuconvd
|
||||
|
||||
CPPSRCS = \
|
||||
nsUConvDataModule.cpp \
|
||||
$(NULL)
|
||||
|
||||
LOCAL_INCLUDES = -I$(srcdir)/../util \
|
||||
-I$(srcdir)/../ucvlatin \
|
||||
-I$(srcdir)/../ucvibm \
|
||||
-I$(srcdir)/../ucvja \
|
||||
-I$(srcdir)/../ucvtw2 \
|
||||
-I$(srcdir)/../ucvtw \
|
||||
-I$(srcdir)/../ucvko \
|
||||
-I$(srcdir)/../ucvcn \
|
||||
$(NULL)
|
||||
|
||||
EXTRA_DSO_LDOPTS += \
|
||||
$(XPCOM_GLUE_LDOPTS) \
|
||||
$(XPCOM_LIBS) \
|
||||
$(MOZ_JS_LIBS) \
|
||||
$(NSPR_LIBS) \
|
||||
$(MOZALLOC_LIB) \
|
||||
$(NULL)
|
||||
|
||||
SHARED_LIBRARY_LIBS += \
|
||||
../ucvlatin/$(LIB_PREFIX)ucvlatin_s.$(LIB_SUFFIX) \
|
||||
../ucvibm/$(LIB_PREFIX)ucvibm_s.$(LIB_SUFFIX) \
|
||||
../ucvja/$(LIB_PREFIX)ucvja_s.$(LIB_SUFFIX) \
|
||||
../ucvtw2/$(LIB_PREFIX)ucvtw2_s.$(LIB_SUFFIX) \
|
||||
../ucvtw/$(LIB_PREFIX)ucvtw_s.$(LIB_SUFFIX) \
|
||||
../ucvko/$(LIB_PREFIX)ucvko_s.$(LIB_SUFFIX) \
|
||||
../ucvcn/$(LIB_PREFIX)ucvcn_s.$(LIB_SUFFIX) \
|
||||
$(NULL)
|
||||
|
||||
ifdef FORCE_SHARED_LIB
|
||||
SHARED_LIBRARY_LIBS += \
|
||||
../util/external/$(LIB_PREFIX)ucvxutil_s.$(LIB_SUFFIX) \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
1089
intl/uconv/datamodule/nsUConvDataModule.cpp
Normal file
1089
intl/uconv/datamodule/nsUConvDataModule.cpp
Normal file
File diff suppressed because it is too large
Load Diff
@ -76,25 +76,7 @@ ifneq (,$(INTEL_ARCHITECTURE))
|
||||
CPPSRCS += nsUTF8ToUnicodeSSE2.cpp
|
||||
endif
|
||||
|
||||
LOCAL_INCLUDES = -I$(srcdir)/../util \
|
||||
-I$(srcdir)/../ucvlatin \
|
||||
-I$(srcdir)/../ucvibm \
|
||||
-I$(srcdir)/../ucvja \
|
||||
-I$(srcdir)/../ucvtw2 \
|
||||
-I$(srcdir)/../ucvtw \
|
||||
-I$(srcdir)/../ucvko \
|
||||
-I$(srcdir)/../ucvcn \
|
||||
$(NULL)
|
||||
|
||||
SHARED_LIBRARY_LIBS += \
|
||||
../ucvlatin/$(LIB_PREFIX)ucvlatin_s.$(LIB_SUFFIX) \
|
||||
../ucvibm/$(LIB_PREFIX)ucvibm_s.$(LIB_SUFFIX) \
|
||||
../ucvja/$(LIB_PREFIX)ucvja_s.$(LIB_SUFFIX) \
|
||||
../ucvtw2/$(LIB_PREFIX)ucvtw2_s.$(LIB_SUFFIX) \
|
||||
../ucvtw/$(LIB_PREFIX)ucvtw_s.$(LIB_SUFFIX) \
|
||||
../ucvko/$(LIB_PREFIX)ucvko_s.$(LIB_SUFFIX) \
|
||||
../ucvcn/$(LIB_PREFIX)ucvcn_s.$(LIB_SUFFIX) \
|
||||
$(NULL)
|
||||
LOCAL_INCLUDES = -I$(srcdir)/../util
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -45,8 +45,9 @@ include $(DEPTH)/config/autoconf.mk
|
||||
MODULE = ucvcn
|
||||
LIBRARY_NAME = ucvcn_s
|
||||
FORCE_STATIC_LIB=1
|
||||
ifneq (WINNT,$(OS_TARGET))
|
||||
LIBXUL_LIBRARY = 1
|
||||
|
||||
endif
|
||||
|
||||
CPPSRCS = \
|
||||
nsGB2312ToUnicodeV2.cpp \
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include "nsUCSupport.h"
|
||||
#include "nsICharsetConverterManager.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsServiceManagerUtils.h"
|
||||
|
||||
static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID);
|
||||
|
||||
|
@ -46,7 +46,9 @@ include $(DEPTH)/config/autoconf.mk
|
||||
MODULE = ucvibm
|
||||
LIBRARY_NAME = ucvibm_s
|
||||
FORCE_STATIC_LIB = 1
|
||||
ifneq (WINNT,$(OS_TARGET))
|
||||
LIBXUL_LIBRARY = 1
|
||||
endif
|
||||
|
||||
|
||||
CPPSRCS = \
|
||||
|
@ -46,8 +46,9 @@ include $(DEPTH)/config/autoconf.mk
|
||||
MODULE = ucvja
|
||||
LIBRARY_NAME = ucvja_s
|
||||
FORCE_STATIC_LIB = 1
|
||||
ifneq (WINNT,$(OS_TARGET))
|
||||
LIBXUL_LIBRARY = 1
|
||||
|
||||
endif
|
||||
|
||||
CPPSRCS = \
|
||||
nsJapaneseToUnicode.cpp \
|
||||
|
@ -42,6 +42,7 @@
|
||||
|
||||
#include "nsICharsetConverterManager.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsServiceManagerUtils.h"
|
||||
static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID);
|
||||
|
||||
#ifdef XP_OS2
|
||||
|
@ -45,8 +45,9 @@ include $(DEPTH)/config/autoconf.mk
|
||||
MODULE = ucvko
|
||||
LIBRARY_NAME = ucvko_s
|
||||
FORCE_STATIC_LIB=1
|
||||
ifneq (WINNT,$(OS_TARGET))
|
||||
LIBXUL_LIBRARY = 1
|
||||
|
||||
endif
|
||||
|
||||
CPPSRCS = \
|
||||
nsEUCKRToUnicode.cpp \
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include "nsUCSupport.h"
|
||||
#include "nsICharsetConverterManager.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsServiceManagerUtils.h"
|
||||
|
||||
static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID);
|
||||
|
||||
|
@ -45,8 +45,9 @@ include $(DEPTH)/config/autoconf.mk
|
||||
MODULE = ucvlatin
|
||||
LIBRARY_NAME = ucvlatin_s
|
||||
FORCE_STATIC_LIB = 1
|
||||
ifneq (WINNT,$(OS_TARGET))
|
||||
LIBXUL_LIBRARY = 1
|
||||
|
||||
endif
|
||||
|
||||
CPPSRCS = \
|
||||
nsAsciiToUnicode.cpp \
|
||||
|
@ -45,8 +45,9 @@ include $(DEPTH)/config/autoconf.mk
|
||||
MODULE = ucvtw
|
||||
LIBRARY_NAME = ucvtw_s
|
||||
FORCE_STATIC_LIB=1
|
||||
ifneq (WINNT,$(OS_TARGET))
|
||||
LIBXUL_LIBRARY = 1
|
||||
|
||||
endif
|
||||
|
||||
CPPSRCS = \
|
||||
nsBIG5ToUnicode.cpp \
|
||||
|
@ -45,8 +45,9 @@ include $(DEPTH)/config/autoconf.mk
|
||||
MODULE = ucvtw2
|
||||
LIBRARY_NAME = ucvtw2_s
|
||||
FORCE_STATIC_LIB=1
|
||||
ifneq (WINNT,$(OS_TARGET))
|
||||
LIBXUL_LIBRARY = 1
|
||||
|
||||
endif
|
||||
|
||||
CPPSRCS = \
|
||||
nsEUCTWToUnicode.cpp \
|
||||
|
@ -42,6 +42,8 @@ VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
DIRS = external
|
||||
|
||||
MODULE = uconv
|
||||
LIBRARY_NAME = ucvutil_s
|
||||
EXPORT_LIBRARY = 1
|
||||
@ -50,18 +52,7 @@ LIBXUL_LIBRARY = 1
|
||||
|
||||
MODULE_NAME = nsUCUtil
|
||||
|
||||
CSRCS = \
|
||||
ugen.c \
|
||||
uscan.c \
|
||||
umap.c \
|
||||
$(NULL)
|
||||
|
||||
CPPSRCS = \
|
||||
nsUCSupport.cpp \
|
||||
nsUCConstructors.cpp \
|
||||
nsUnicodeDecodeHelper.cpp \
|
||||
nsUnicodeEncodeHelper.cpp \
|
||||
$(NULL)
|
||||
include $(srcdir)/objs.mk
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
|
57
intl/uconv/util/external/Makefile.in
vendored
Normal file
57
intl/uconv/util/external/Makefile.in
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
#
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Netscape Communications Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 1998
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
DEPTH = ../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
MODULE = uconv
|
||||
LIBRARY_NAME = ucvxutil_s
|
||||
EXPORT_LIBRARY = 1
|
||||
FORCE_STATIC_LIB = 1
|
||||
|
||||
MODULE_NAME = nsExternalUCUtil
|
||||
|
||||
VPATH += $(srcdir)/..
|
||||
|
||||
include $(srcdir)/../objs.mk
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
12
intl/uconv/util/objs.mk
Normal file
12
intl/uconv/util/objs.mk
Normal file
@ -0,0 +1,12 @@
|
||||
CSRCS = \
|
||||
ugen.c \
|
||||
uscan.c \
|
||||
umap.c \
|
||||
$(NULL)
|
||||
|
||||
CPPSRCS = \
|
||||
nsUCSupport.cpp \
|
||||
nsUCConstructors.cpp \
|
||||
nsUnicodeDecodeHelper.cpp \
|
||||
nsUnicodeEncodeHelper.cpp \
|
||||
$(NULL)
|
@ -312,6 +312,7 @@ class XPCShellTests(object):
|
||||
On a remote system, this is more complex and we need to overload this function.
|
||||
"""
|
||||
cmd = wrapCommand(cmd)
|
||||
print cmd
|
||||
proc = Popen(cmd, stdout=stdout, stderr=stderr,
|
||||
env=env, cwd=cwd)
|
||||
return proc
|
||||
|
@ -200,6 +200,12 @@ COMPONENT_LIBS += \
|
||||
windowds \
|
||||
$(NULL)
|
||||
|
||||
ifneq (WINNT,$(OS_ARCH))
|
||||
COMPONENT_LIBS += \
|
||||
uconvd \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
ifdef BUILD_CTYPES
|
||||
COMPONENT_LIBS += \
|
||||
jsctypes \
|
||||
|
@ -205,8 +205,15 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef XP_WIN
|
||||
#define UCONV_DATA_MODULE
|
||||
#else
|
||||
#define UCONV_DATA_MODULE MODULE(nsUConvDataModule)
|
||||
#endif
|
||||
|
||||
#define XUL_MODULES \
|
||||
MODULE(nsUConvModule) \
|
||||
UCONV_DATA_MODULE \
|
||||
MODULE(nsI18nModule) \
|
||||
MODULE(nsChardetModule) \
|
||||
UNIVERSALCHARDET_MODULE \
|
||||
|
@ -237,10 +237,18 @@ ifdef APP_LIBXUL_DIRS
|
||||
tier_platform_dirs += $(APP_LIBXUL_DIRS)
|
||||
endif
|
||||
|
||||
ifneq (WINNT,$(OS_ARCH))
|
||||
tier_platform_dirs += intl/uconv/datamodule
|
||||
endif
|
||||
|
||||
tier_platform_dirs += toolkit/library
|
||||
|
||||
tier_platform_dirs += xpcom/stub
|
||||
|
||||
ifeq (WINNT,$(OS_ARCH))
|
||||
tier_platform_dirs += intl/uconv/datamodule
|
||||
endif
|
||||
|
||||
ifdef NS_TRACE_MALLOC
|
||||
tier_platform_dirs += tools/trace-malloc
|
||||
endif
|
||||
|
@ -67,6 +67,7 @@
|
||||
# define NS_CycleCollectorForget NS_CycleCollectorForget_P
|
||||
# define NS_CycleCollectorSuspect2 NS_CycleCollectorSuspect2_P
|
||||
# define NS_CycleCollectorForget2 NS_CycleCollectorForget2_P
|
||||
# define NS_IsCycleCollectorThread NS_IsCycleCollectorThread_P
|
||||
#endif
|
||||
|
||||
#include "nscore.h"
|
||||
@ -404,6 +405,9 @@ NS_CycleCollectorSuspect2(nsISupports *n);
|
||||
XPCOM_API(bool)
|
||||
NS_CycleCollectorForget2(nsPurpleBufferEntry *e);
|
||||
|
||||
XPCOM_API(bool)
|
||||
NS_IsCycleCollectorThread();
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -345,6 +345,7 @@ private:
|
||||
return PR_SUCCESS;
|
||||
}
|
||||
|
||||
public:
|
||||
/**
|
||||
* Shutdown
|
||||
* Free static members.
|
||||
@ -356,6 +357,8 @@ private:
|
||||
sDeadlockDetector = 0;
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
# ifdef MOZILLA_INTERNAL_API
|
||||
// so it can call BlockingResourceBase::Shutdown()
|
||||
friend void LogTerm();
|
||||
|
@ -225,9 +225,11 @@ private:
|
||||
mFirstSeen(CallStack::kNone),
|
||||
mOrderedLT() // FIXME bug 456272: set to empirical
|
||||
{ // dep size?
|
||||
MOZ_COUNT_CTOR(OrderingEntry);
|
||||
}
|
||||
~OrderingEntry()
|
||||
{
|
||||
MOZ_COUNT_DTOR(OrderingEntry);
|
||||
}
|
||||
|
||||
CallStack mFirstSeen; // first site from which the resource appeared
|
||||
@ -367,6 +369,7 @@ public:
|
||||
mLock = PR_NewLock();
|
||||
if (!mLock)
|
||||
NS_RUNTIMEABORT("couldn't allocate deadlock detector lock");
|
||||
MOZ_COUNT_CTOR(DeadlockDetector);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -378,6 +381,7 @@ public:
|
||||
{
|
||||
PL_HashTableDestroy(mOrdering);
|
||||
PR_DestroyLock(mLock);
|
||||
MOZ_COUNT_DTOR(DeadlockDetector);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -40,10 +40,9 @@
|
||||
#include "nscore.h"
|
||||
#include "mozilla/threads/nsThreadIDs.h"
|
||||
|
||||
#if defined(MOZILLA_INTERNAL_API)
|
||||
#define NS_IsCycleCollectorThread NS_IsCycleCollectorThread_P
|
||||
#if defined(MOZILLA_INTERNAL_API) && !defined(XPCOM_MAKING_STUB)
|
||||
#if defined(XP_WIN)
|
||||
bool NS_IsCycleCollectorThread();
|
||||
XPCOM_API(bool) NS_IsCycleCollectorThread();
|
||||
#elif defined(NS_TLS)
|
||||
// Defined in nsThreadManager.cpp.
|
||||
extern NS_TLS mozilla::threads::ID gTLSThreadID;
|
||||
@ -52,10 +51,10 @@ inline bool NS_IsCycleCollectorThread()
|
||||
return gTLSThreadID == mozilla::threads::CycleCollector;
|
||||
}
|
||||
#else
|
||||
NS_COM_GLUE bool NS_IsCycleCollectorThread();
|
||||
XPCOM_API(bool) NS_IsCycleCollectorThread();
|
||||
#endif
|
||||
#else
|
||||
NS_COM_GLUE bool NS_IsCycleCollectorThread();
|
||||
XPCOM_API(bool) NS_IsCycleCollectorThread();
|
||||
#endif
|
||||
|
||||
#endif /* nsCycleCollectorUtils_h__ */
|
||||
|
@ -35,6 +35,8 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#define XPCOM_MAKING_STUB
|
||||
|
||||
#include "nsXPCOM.h"
|
||||
#include "nsXPCOMPrivate.h"
|
||||
#include "nsXPCOMStrings.h"
|
||||
@ -559,3 +561,12 @@ NS_CycleCollectorForget2(nsPurpleBufferEntry* e)
|
||||
{
|
||||
return NS_CycleCollectorForget2_P(e);
|
||||
}
|
||||
|
||||
#ifdef XP_WIN
|
||||
#undef NS_IsCycleCollectorThread
|
||||
EXPORT_XPCOM_API(bool)
|
||||
NS_IsCycleCollectorThread()
|
||||
{
|
||||
return NS_IsCycleCollectorThread_P();
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user