Author: hyperion Date: Sun Sep 28 17:39:45 2008 New Revision: 36586
URL: http://svn.reactos.org/svn/reactos?rev=36586&view=rev Log: modified dll/win32/kernel32/kernel32.def modified dll/win32/kernel32/kernel32.rbuild added dll/win32/kernel32/misc/icustubs.cpp Export NormalizeString and IsStringNormalized from kernel32.dll. This (finally) makes normaliz.dll (50%) functional. Link kernel32.dll to ICU. Finally. Binary size increased by about 300 KB on a debug build (this is only the beginning). Umpteenth copy of C++ and Win32 stubs required to get ICU to link properly added to kernel32.dll. This commit dedicated to Timo Kreuzer. <3.
Added: trunk/reactos/dll/win32/kernel32/misc/icustubs.cpp (with props) Modified: trunk/reactos/dll/win32/kernel32/kernel32.def trunk/reactos/dll/win32/kernel32/kernel32.rbuild
Modified: trunk/reactos/dll/win32/kernel32/kernel32.def URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/kernel32... ============================================================================== --- trunk/reactos/dll/win32/kernel32/kernel32.def [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/kernel32.def [iso-8859-1] Sun Sep 28 17:39:45 2008 @@ -1044,3 +1044,10 @@ lstrlen@4=lstrlenA@4 lstrlenA@4 lstrlenW@4 + +; TODO: these require the data file +;IdnToAscii@20 +;IdnToNameprepUnicode@20 +;IdnToUnicode@20 +IsNormalizedString@12 +NormalizeString@20
Modified: trunk/reactos/dll/win32/kernel32/kernel32.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/kernel32... ============================================================================== --- trunk/reactos/dll/win32/kernel32/kernel32.rbuild [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/kernel32.rbuild [iso-8859-1] Sun Sep 28 17:39:45 2008 @@ -110,6 +110,7 @@ <file>lcformat.c</file> <file>profile.c</file> <file>utils.c</file> + <file>icustubs.cpp</file> </directory> <directory name="thread"> <if property="ARCH" value="i386"> @@ -130,7 +131,12 @@ <library>kernel32_base</library> <library>wine</library> <library>pseh</library> + + <file>kernel32.rc</file> + + <library>normalize</library> + <library>icu4ros</library> + <library>ntdll</library> - <file>kernel32.rc</file> </module> </group>
Added: trunk/reactos/dll/win32/kernel32/misc/icustubs.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/misc/icu... ============================================================================== --- trunk/reactos/dll/win32/kernel32/misc/icustubs.cpp (added) +++ trunk/reactos/dll/win32/kernel32/misc/icustubs.cpp [iso-8859-1] Sun Sep 28 17:39:45 2008 @@ -1,0 +1,82 @@ +/* + * Copyright (c) 2008, KJK::Hyperion + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * - 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. + * + * - Neither the name of the ReactOS Foundation nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT OWNER 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. + * + */ + +// FIXME: move stubs elsewhere + +#include <k32.h> +#include <stdlib.h> + +#include <ndk/rtlfuncs.h> + +extern "C" +{ +void WINAPI EnterCriticalSection(PCRITICAL_SECTION p) { RtlEnterCriticalSection((PRTL_CRITICAL_SECTION)p); } +void WINAPI LeaveCriticalSection(PCRITICAL_SECTION p) { RtlLeaveCriticalSection((PRTL_CRITICAL_SECTION)p); } +void WINAPI DeleteCriticalSection(PCRITICAL_SECTION p) { RtlDeleteCriticalSection((PRTL_CRITICAL_SECTION)p); } + +void free(void * memory) +{ + RtlFreeHeap(GetProcessHeap(), 0, memory); +} + +void * malloc(size_t size) +{ + return RtlAllocateHeap(GetProcessHeap(), 0, size); +} + +void * realloc(void * memory, size_t size) +{ + return RtlReAllocateHeap(GetProcessHeap(), 0, memory, size); +} + +int __cdecl _purecall() +{ + FatalAppExitW(0, L"pure virtual call"); + FatalExit(0); + return 0; +} + +__attribute__((alias("_purecall"))) void __cxa_pure_virtual(void); + +void _assert() +{ + FatalAppExitW(0, L"assertion failed"); + FatalExit(0); +} +} + +void operator delete(void * memory) +{ + free(memory); +} + +// EOF
Propchange: trunk/reactos/dll/win32/kernel32/misc/icustubs.cpp ------------------------------------------------------------------------------ svn:eol-style = native