ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
April
March
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
December 2015
----- 2025 -----
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
12 participants
252 discussions
Start a n
N
ew thread
[akhaldi] 70237: [T2EMBED] Leverage Wine Staging 1.7.55 code and put our remaining stubs into a proper source file. CORE-10536
by akhaldi@svn.reactos.org
Author: akhaldi Date: Wed Dec 2 21:04:16 2015 New Revision: 70237 URL:
http://svn.reactos.org/svn/reactos?rev=70237&view=rev
Log: [T2EMBED] Leverage Wine Staging 1.7.55 code and put our remaining stubs into a proper source file. CORE-10536 Added: trunk/reactos/dll/win32/t2embed/main.c - copied, changed from r70236, trunk/reactos/dll/win32/t2embed/t2embed.c trunk/reactos/dll/win32/t2embed/stubs.c (with props) Removed: trunk/reactos/dll/win32/t2embed/t2embed.c Modified: trunk/reactos/dll/win32/t2embed/CMakeLists.txt trunk/reactos/dll/win32/t2embed/t2embed.spec trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/dll/win32/t2embed/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/t2embed/CMakeLis…
============================================================================== --- trunk/reactos/dll/win32/t2embed/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/t2embed/CMakeLists.txt [iso-8859-1] Wed Dec 2 21:04:16 2015 @@ -1,14 +1,15 @@ +add_definitions(-D__WINESRC__) include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) spec2def(t2embed.dll t2embed.spec) list(APPEND SOURCE - t2embed.c - t2embed.rc + main.c + stubs.c ${CMAKE_CURRENT_BINARY_DIR}/t2embed_stubs.c ${CMAKE_CURRENT_BINARY_DIR}/t2embed.def) -add_library(t2embed SHARED ${SOURCE}) +add_library(t2embed SHARED ${SOURCE} t2embed.rc) set_module_type(t2embed win32dll UNICODE) target_link_libraries(t2embed wine) add_importlibs(t2embed gdi32 user32 advapi32 version msvcrt kernel32 ntdll) Copied: trunk/reactos/dll/win32/t2embed/main.c (from r70236, trunk/reactos/dll/win32/t2embed/t2embed.c) URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/t2embed/main.c?p…
============================================================================== --- trunk/reactos/dll/win32/t2embed/t2embed.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/t2embed/main.c [iso-8859-1] Wed Dec 2 21:04:16 2015 @@ -1,12 +1,23 @@ /* - * PROJECT: Font Embedding Dll - * FILE: dll\win32\t2embed\t2embed.c - * PURPOSE: Main file - * PROGRAMMERS: Dmitry Chapyshev (dmitry(a)reactos.org) + * + * Copyright 2009 Austin English + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #define WIN32_NO_STATUS - #include <stdarg.h> #include <windef.h> #include <winbase.h> @@ -15,191 +26,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(t2embed); -LONG -WINAPI -TTCharToUnicode(HDC hDC, - UCHAR* pucCharCodes, - ULONG ulCharCodeSize, - USHORT* pusShortCodes, - ULONG ulShortCodeSize, - ULONG ulFlags) +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { - UNIMPLEMENTED; - return E_NONE; -} -LONG -WINAPI -TTDeleteEmbeddedFont(HANDLE hFontReference, - ULONG ulFlags, - ULONG* pulStatus) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTEmbedFont(HDC hDC, - ULONG ulFlags, - ULONG ulCharSet, - ULONG* pulPrivStatus, - ULONG* pulStatus, - WRITEEMBEDPROC lpfnWriteToStream, - LPVOID lpvWriteStream, - USHORT* pusCharCodeSet, - USHORT usCharCodeCount, - USHORT usLanguage, - TTEMBEDINFO* pTTEmbedInfo) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTEmbedFontFromFileA(HDC hDC, - LPCSTR szFontFileName, - USHORT usTTCIndex, - ULONG ulFlags, - ULONG ulCharSet, - ULONG* pulPrivStatus, - ULONG* pulStatus, - WRITEEMBEDPROC lpfnWriteToStream, - LPVOID lpvWriteStream, - USHORT* pusCharCodeSet, - USHORT usCharCodeCount, - USHORT usLanguage, - TTEMBEDINFO* pTTEmbedInfo) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTEnableEmbeddingForFacename(LPSTR lpszFacename, - BOOL bEnable) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTGetEmbeddedFontInfo(ULONG ulFlags, - ULONG* pulPrivStatus, - ULONG ulPrivs, - ULONG* pulStatus, - READEMBEDPROC lpfnReadFromStream, - LPVOID lpvReadStream, - TTLOADINFO* pTTLoadInfo) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTGetEmbeddingType(HDC hDC, - ULONG* pulPrivStatus) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTIsEmbeddingEnabled(HDC hDC, - BOOL* pbEnabled) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTIsEmbeddingEnabledForFacename(LPSTR lpszFacename, - BOOL* pbEnabled) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTLoadEmbeddedFont(HANDLE *phFontReference, - ULONG ulFlags, - ULONG* pulPrivStatus, - ULONG ulPrivs, - ULONG* pulStatus, - READEMBEDPROC lpfnReadFromStream, - LPVOID lpvReadStream, - LPWSTR szWinFamilyName, - LPSTR szMacFamilyName, - TTLOADINFO* pTTLoadInfo) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTRunValidationTests(HDC hDC, - TTVALIDATIONTESTPARAMS* pTestParam) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTEmbedFontEx(HDC hDC, - ULONG ulFlags, - ULONG ulCharSet, - ULONG* pulPrivStatus, - ULONG* pulStatus, - WRITEEMBEDPROC lpfnWriteToStream, - LPVOID lpvWriteStream, - ULONG* pulCharCodeSet, - USHORT usCharCodeCount, - USHORT usLanguage, - TTEMBEDINFO* pTTEmbedInfo) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTRunValidationTestsEx(HDC hDC, - TTVALIDATIONTESTPARAMSEX* pTestParam) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTGetNewFontName(HANDLE* phFontReference, - LPWSTR szWinFamilyName, - long cchMaxWinName, - LPSTR szMacFamilyName, - long cchMaxMacName) -{ - UNIMPLEMENTED; - return E_NONE; -} - - -BOOL -WINAPI -DllMain(IN HINSTANCE hinstDLL, - IN DWORD dwReason, - IN LPVOID lpvReserved) -{ - switch (dwReason) + switch (fdwReason) { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ case DLL_PROCESS_ATTACH: DisableThreadLibraryCalls(hinstDLL); break; @@ -207,3 +40,50 @@ return TRUE; } + +LONG WINAPI TTLoadEmbeddedFont(HANDLE *phFontReference, ULONG ulFlags, + ULONG *pulPrivStatus, ULONG ulPrivs, + ULONG *pulStatus, READEMBEDPROC lpfnReadFromStream, + LPVOID lpvReadStream, LPWSTR szWinFamilyName, + LPSTR szMacFamilyName, TTLOADINFO *pTTLoadInfo) +{ + FIXME("(%p 0x%08x %p 0x%08x %p %p %p %s %s %p) stub\n", phFontReference, + ulFlags, pulPrivStatus, ulPrivs, pulStatus, lpfnReadFromStream, + lpvReadStream, debugstr_w(szWinFamilyName), szMacFamilyName, + pTTLoadInfo); + + return E_API_NOTIMPL; +} + +LONG WINAPI TTEmbedFont(HDC hDC, ULONG ulFlags, ULONG ulCharSet, ULONG *pulPrivStatus, + ULONG *pulStatus, WRITEEMBEDPROC lpfnWriteToStream, LPVOID lpvWriteStream, + USHORT *pusCharCodeSet, USHORT usCharCodeCount, USHORT usLanguage, + TTEMBEDINFO *pTTEmbedInfo) +{ + FIXME("(%p 0x%08x 0x%08x %p %p %p %p %p %u %u %p) stub\n", hDC, + ulFlags, ulCharSet, pulPrivStatus, pulStatus, lpfnWriteToStream, + lpvWriteStream, pusCharCodeSet, usCharCodeCount, usLanguage, + pTTEmbedInfo); + + return E_API_NOTIMPL; +} + +LONG WINAPI TTGetEmbeddingType(HDC hDC, ULONG *status) +{ + FIXME("(%p %p) stub\n", hDC, status); + if (status) *status = EMBED_NOEMBEDDING; + return E_API_NOTIMPL; +} + +LONG WINAPI TTIsEmbeddingEnabled(HDC hDC, BOOL *enabled) +{ + FIXME("(%p %p) stub\n", hDC, enabled); + if (enabled) *enabled = FALSE; + return E_API_NOTIMPL; +} + +LONG WINAPI TTDeleteEmbeddedFont(HANDLE hFontReference, ULONG flags, ULONG *status) +{ + FIXME("(%p 0x%08x %p) stub\n", hFontReference, flags, status); + return E_API_NOTIMPL; +} Added: trunk/reactos/dll/win32/t2embed/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/t2embed/stubs.c?…
============================================================================== --- trunk/reactos/dll/win32/t2embed/stubs.c (added) +++ trunk/reactos/dll/win32/t2embed/stubs.c [iso-8859-1] Wed Dec 2 21:04:16 2015 @@ -0,0 +1,124 @@ +/* + * PROJECT: Font Embedding Dll + * FILE: dll\win32\t2embed\stubs.c + * PURPOSE: Stubs file + * PROGRAMMERS: Dmitry Chapyshev (dmitry(a)reactos.org) + */ + +#define WIN32_NO_STATUS +#include <windef.h> +#include <t2embapi.h> +#include <debug.h> + +LONG +WINAPI +TTCharToUnicode(HDC hDC, + UCHAR* pucCharCodes, + ULONG ulCharCodeSize, + USHORT* pusShortCodes, + ULONG ulShortCodeSize, + ULONG ulFlags) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTEmbedFontFromFileA(HDC hDC, + LPCSTR szFontFileName, + USHORT usTTCIndex, + ULONG ulFlags, + ULONG ulCharSet, + ULONG* pulPrivStatus, + ULONG* pulStatus, + WRITEEMBEDPROC lpfnWriteToStream, + LPVOID lpvWriteStream, + USHORT* pusCharCodeSet, + USHORT usCharCodeCount, + USHORT usLanguage, + TTEMBEDINFO* pTTEmbedInfo) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTEnableEmbeddingForFacename(LPSTR lpszFacename, + BOOL bEnable) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTGetEmbeddedFontInfo(ULONG ulFlags, + ULONG* pulPrivStatus, + ULONG ulPrivs, + ULONG* pulStatus, + READEMBEDPROC lpfnReadFromStream, + LPVOID lpvReadStream, + TTLOADINFO* pTTLoadInfo) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTIsEmbeddingEnabledForFacename(LPSTR lpszFacename, + BOOL* pbEnabled) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTRunValidationTests(HDC hDC, + TTVALIDATIONTESTPARAMS* pTestParam) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTEmbedFontEx(HDC hDC, + ULONG ulFlags, + ULONG ulCharSet, + ULONG* pulPrivStatus, + ULONG* pulStatus, + WRITEEMBEDPROC lpfnWriteToStream, + LPVOID lpvWriteStream, + ULONG* pulCharCodeSet, + USHORT usCharCodeCount, + USHORT usLanguage, + TTEMBEDINFO* pTTEmbedInfo) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTRunValidationTestsEx(HDC hDC, + TTVALIDATIONTESTPARAMSEX* pTestParam) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTGetNewFontName(HANDLE* phFontReference, + LPWSTR szWinFamilyName, + long cchMaxWinName, + LPSTR szMacFamilyName, + long cchMaxMacName) +{ + UNIMPLEMENTED; + return E_NONE; +} Propchange: trunk/reactos/dll/win32/t2embed/stubs.c ------------------------------------------------------------------------------ svn:eol-style = native Removed: trunk/reactos/dll/win32/t2embed/t2embed.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/t2embed/t2embed.…
============================================================================== --- trunk/reactos/dll/win32/t2embed/t2embed.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/t2embed/t2embed.c (removed) @@ -1,209 +0,0 @@ -/* - * PROJECT: Font Embedding Dll - * FILE: dll\win32\t2embed\t2embed.c - * PURPOSE: Main file - * PROGRAMMERS: Dmitry Chapyshev (dmitry(a)reactos.org) - */ - -#define WIN32_NO_STATUS - -#include <stdarg.h> -#include <windef.h> -#include <winbase.h> -#include <t2embapi.h> -#include <wine/debug.h> - -WINE_DEFAULT_DEBUG_CHANNEL(t2embed); - -LONG -WINAPI -TTCharToUnicode(HDC hDC, - UCHAR* pucCharCodes, - ULONG ulCharCodeSize, - USHORT* pusShortCodes, - ULONG ulShortCodeSize, - ULONG ulFlags) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTDeleteEmbeddedFont(HANDLE hFontReference, - ULONG ulFlags, - ULONG* pulStatus) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTEmbedFont(HDC hDC, - ULONG ulFlags, - ULONG ulCharSet, - ULONG* pulPrivStatus, - ULONG* pulStatus, - WRITEEMBEDPROC lpfnWriteToStream, - LPVOID lpvWriteStream, - USHORT* pusCharCodeSet, - USHORT usCharCodeCount, - USHORT usLanguage, - TTEMBEDINFO* pTTEmbedInfo) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTEmbedFontFromFileA(HDC hDC, - LPCSTR szFontFileName, - USHORT usTTCIndex, - ULONG ulFlags, - ULONG ulCharSet, - ULONG* pulPrivStatus, - ULONG* pulStatus, - WRITEEMBEDPROC lpfnWriteToStream, - LPVOID lpvWriteStream, - USHORT* pusCharCodeSet, - USHORT usCharCodeCount, - USHORT usLanguage, - TTEMBEDINFO* pTTEmbedInfo) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTEnableEmbeddingForFacename(LPSTR lpszFacename, - BOOL bEnable) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTGetEmbeddedFontInfo(ULONG ulFlags, - ULONG* pulPrivStatus, - ULONG ulPrivs, - ULONG* pulStatus, - READEMBEDPROC lpfnReadFromStream, - LPVOID lpvReadStream, - TTLOADINFO* pTTLoadInfo) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTGetEmbeddingType(HDC hDC, - ULONG* pulPrivStatus) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTIsEmbeddingEnabled(HDC hDC, - BOOL* pbEnabled) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTIsEmbeddingEnabledForFacename(LPSTR lpszFacename, - BOOL* pbEnabled) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTLoadEmbeddedFont(HANDLE *phFontReference, - ULONG ulFlags, - ULONG* pulPrivStatus, - ULONG ulPrivs, - ULONG* pulStatus, - READEMBEDPROC lpfnReadFromStream, - LPVOID lpvReadStream, - LPWSTR szWinFamilyName, - LPSTR szMacFamilyName, - TTLOADINFO* pTTLoadInfo) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTRunValidationTests(HDC hDC, - TTVALIDATIONTESTPARAMS* pTestParam) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTEmbedFontEx(HDC hDC, - ULONG ulFlags, - ULONG ulCharSet, - ULONG* pulPrivStatus, - ULONG* pulStatus, - WRITEEMBEDPROC lpfnWriteToStream, - LPVOID lpvWriteStream, - ULONG* pulCharCodeSet, - USHORT usCharCodeCount, - USHORT usLanguage, - TTEMBEDINFO* pTTEmbedInfo) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTRunValidationTestsEx(HDC hDC, - TTVALIDATIONTESTPARAMSEX* pTestParam) -{ - UNIMPLEMENTED; - return E_NONE; -} - -LONG -WINAPI -TTGetNewFontName(HANDLE* phFontReference, - LPWSTR szWinFamilyName, - long cchMaxWinName, - LPSTR szMacFamilyName, - long cchMaxMacName) -{ - UNIMPLEMENTED; - return E_NONE; -} - - -BOOL -WINAPI -DllMain(IN HINSTANCE hinstDLL, - IN DWORD dwReason, - IN LPVOID lpvReserved) -{ - switch (dwReason) - { - case DLL_PROCESS_ATTACH: - DisableThreadLibraryCalls(hinstDLL); - break; - } - - return TRUE; -} Modified: trunk/reactos/dll/win32/t2embed/t2embed.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/t2embed/t2embed.…
============================================================================== --- trunk/reactos/dll/win32/t2embed/t2embed.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/t2embed/t2embed.spec [iso-8859-1] Wed Dec 2 21:04:16 2015 @@ -11,14 +11,14 @@ @ stdcall TTRunValidationTests(ptr ptr) @ stub _TTCharToUnicode@24 @ stub _TTDeleteEmbeddedFont@12 -@ stub _TTEmbedFont@44 +@ stdcall _TTEmbedFont@44(long long long ptr ptr ptr ptr ptr long long ptr) TTEmbedFont @ stub _TTEmbedFontFromFileA@52 @ stub _TTEnableEmbeddingForFacename@8 @ stub _TTGetEmbeddedFontInfo@28 -@ stub _TTGetEmbeddingType@8 -@ stub _TTIsEmbeddingEnabled@8 +@ stdcall _TTGetEmbeddingType@8(long ptr) TTGetEmbeddingType +@ stdcall _TTIsEmbeddingEnabled@8(long ptr) TTIsEmbeddingEnabled @ stub _TTIsEmbeddingEnabledForFacename@8 -@ stub _TTLoadEmbeddedFont@40 +@ stdcall _TTLoadEmbeddedFont@40(ptr long ptr long ptr ptr ptr wstr str ptr) TTLoadEmbeddedFont @ stub _TTRunValidationTests@8 @ stdcall TTEmbedFontEx(ptr long long ptr ptr ptr ptr ptr long long ptr) @ stdcall TTRunValidationTestsEx(ptr ptr) Modified: trunk/reactos/media/doc/README.WINE URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Wed Dec 2 21:04:16 2015 @@ -187,6 +187,7 @@ reactos/dll/win32/stdole32.tlb # Synced to WineStaging-1.7.55 reactos/dll/win32/sti # Synced to WineStaging-1.7.55 reactos/dll/win32/sxs # Synced to WineStaging-1.7.55 +reactos/dll/win32/t2embed # Synced to WineStaging-1.7.55 reactos/dll/win32/tapi32 # Synced to WineStaging-1.7.55 reactos/dll/win32/traffic # Synced to WineStaging-1.7.55 reactos/dll/win32/twain_32 # Synced to WineStaging-1.7.55
9 years, 4 months
1
0
0
0
[akhaldi] 70236: [PSDK] Add missing E_API_NOTIMPL.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Wed Dec 2 21:00:36 2015 New Revision: 70236 URL:
http://svn.reactos.org/svn/reactos?rev=70236&view=rev
Log: [PSDK] Add missing E_API_NOTIMPL. Modified: trunk/reactos/include/psdk/t2embapi.h Modified: trunk/reactos/include/psdk/t2embapi.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/t2embapi.h?re…
============================================================================== --- trunk/reactos/include/psdk/t2embapi.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/t2embapi.h [iso-8859-1] Wed Dec 2 21:00:36 2015 @@ -37,6 +37,8 @@ #ifndef E_NONE #define E_NONE 0x0 #endif + +#define E_API_NOTIMPL 0x0001L #ifndef E_CHARCODECOUNTINVALID #define E_CHARCODECOUNTINVALID 0x2
9 years, 4 months
1
0
0
0
[akhaldi] 70235: [MEDIA/DOC] Add Libxslt to the 3rd party modules list.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Wed Dec 2 11:41:50 2015 New Revision: 70235 URL:
http://svn.reactos.org/svn/reactos?rev=70235&view=rev
Log: [MEDIA/DOC] Add Libxslt to the 3rd party modules list. Modified: trunk/reactos/media/doc/3rd Party Files.txt Modified: trunk/reactos/media/doc/3rd Party Files.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/3rd%20Party%20Fi…
============================================================================== --- trunk/reactos/media/doc/3rd Party Files.txt [iso-8859-1] (original) +++ trunk/reactos/media/doc/3rd Party Files.txt [iso-8859-1] Wed Dec 2 11:41:50 2015 @@ -46,6 +46,10 @@ Used Version: 2.9.3 Website:
http://xmlsoft.org
|
ftp://xmlsoft.org/libxml2/
+Title: Libxslt +Used Version: 1.1.28 +Website:
http://xmlsoft.org
+ Title: ZLib Used Version: 1.2.8 Website:
http://www.zlib.net
9 years, 4 months
1
0
0
0
[akhaldi] 70234: [LIBXML2] Update to v2.9.3.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Wed Dec 2 11:36:52 2015 New Revision: 70234 URL:
http://svn.reactos.org/svn/reactos?rev=70234&view=rev
Log: [LIBXML2] Update to v2.9.3. Modified: trunk/reactos/include/reactos/libs/libxml/tree.h trunk/reactos/include/reactos/libs/libxml/xmlversion.h trunk/reactos/include/reactos/libs/libxml/xmlversion.h.in trunk/reactos/lib/3rdparty/libxml2/HTMLparser.c trunk/reactos/lib/3rdparty/libxml2/HTMLtree.c trunk/reactos/lib/3rdparty/libxml2/buf.c trunk/reactos/lib/3rdparty/libxml2/dict.c trunk/reactos/lib/3rdparty/libxml2/error.c trunk/reactos/lib/3rdparty/libxml2/parser.c trunk/reactos/lib/3rdparty/libxml2/parserInternals.c trunk/reactos/lib/3rdparty/libxml2/relaxng.c trunk/reactos/lib/3rdparty/libxml2/threads.c trunk/reactos/lib/3rdparty/libxml2/timsort.h trunk/reactos/lib/3rdparty/libxml2/tree.c trunk/reactos/lib/3rdparty/libxml2/valid.c trunk/reactos/lib/3rdparty/libxml2/xmlIO.c trunk/reactos/lib/3rdparty/libxml2/xmllint.c trunk/reactos/lib/3rdparty/libxml2/xmlmemory.c trunk/reactos/lib/3rdparty/libxml2/xmlreader.c trunk/reactos/lib/3rdparty/libxml2/xmlschemas.c trunk/reactos/lib/3rdparty/libxml2/xpath.c trunk/reactos/lib/3rdparty/libxml2/xzlib.c trunk/reactos/media/doc/3rd Party Files.txt Modified: trunk/reactos/include/reactos/libs/libxml/tree.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/libs/libxm…
============================================================================== --- trunk/reactos/include/reactos/libs/libxml/tree.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/libs/libxml/tree.h [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -76,7 +76,8 @@ XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */ XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer */ XML_BUFFER_ALLOC_IO, /* special allocation scheme used for I/O */ - XML_BUFFER_ALLOC_HYBRID /* exact up to a threshold, and doubleit thereafter */ + XML_BUFFER_ALLOC_HYBRID, /* exact up to a threshold, and doubleit thereafter */ + XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */ } xmlBufferAllocationScheme; /** Modified: trunk/reactos/include/reactos/libs/libxml/xmlversion.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/libs/libxm…
============================================================================== --- trunk/reactos/include/reactos/libs/libxml/xmlversion.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/libs/libxml/xmlversion.h [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -29,28 +29,28 @@ * * the version string like "1.2.3" */ -#define LIBXML_DOTTED_VERSION "2.9.2" +#define LIBXML_DOTTED_VERSION "2.9.3" /** * LIBXML_VERSION: * * the version number: 1.2.3 value is 10203 */ -#define LIBXML_VERSION 20902 +#define LIBXML_VERSION 20903 /** * LIBXML_VERSION_STRING: * * the version number string, 1.2.3 value is "10203" */ -#define LIBXML_VERSION_STRING "20902" +#define LIBXML_VERSION_STRING "20903" /** * LIBXML_VERSION_EXTRA: * * extra version information, used to show a CVS compilation */ -#define LIBXML_VERSION_EXTRA "" +#define LIBXML_VERSION_EXTRA "-GITCVE-2015-8242" /** * LIBXML_TEST_VERSION: @@ -58,7 +58,7 @@ * Macro to check that the libxml version in use is compatible with * the version the software has been compiled against */ -#define LIBXML_TEST_VERSION xmlCheckVersion(20902); +#define LIBXML_TEST_VERSION xmlCheckVersion(20903); #ifndef VMS #if 0 @@ -435,7 +435,7 @@ */ #ifndef LIBXML_ATTR_ALLOC_SIZE -# if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))) +# if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))) # define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) # else # define LIBXML_ATTR_ALLOC_SIZE(x) Modified: trunk/reactos/include/reactos/libs/libxml/xmlversion.h.in URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/libs/libxm…
============================================================================== --- trunk/reactos/include/reactos/libs/libxml/xmlversion.h.in [iso-8859-1] (original) +++ trunk/reactos/include/reactos/libs/libxml/xmlversion.h.in [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -435,7 +435,7 @@ */ #ifndef LIBXML_ATTR_ALLOC_SIZE -# if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))) +# if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))) # define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) # else # define LIBXML_ATTR_ALLOC_SIZE(x) Modified: trunk/reactos/lib/3rdparty/libxml2/HTMLparser.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/HTMLp…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/HTMLparser.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/HTMLparser.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -2948,8 +2948,9 @@ /** - * htmlParseCharData: + * htmlParseCharDataInternal: * @ctxt: an HTML parser context + * @readahead: optional read ahead character in ascii range * * parse a CharData section. * if we are within a CDATA section ']]>' marks an end of section. @@ -2958,11 +2959,14 @@ */ static void -htmlParseCharData(htmlParserCtxtPtr ctxt) { - xmlChar buf[HTML_PARSER_BIG_BUFFER_SIZE + 5]; +htmlParseCharDataInternal(htmlParserCtxtPtr ctxt, int readahead) { + xmlChar buf[HTML_PARSER_BIG_BUFFER_SIZE + 6]; int nbchar = 0; int cur, l; int chunk = 0; + + if (readahead) + buf[nbchar++] = readahead; SHRINK; cur = CUR_CHAR(l); @@ -3040,6 +3044,21 @@ if (cur == 0) ctxt->instate = XML_PARSER_EOF; } +} + +/** + * htmlParseCharData: + * @ctxt: an HTML parser context + * + * parse a CharData section. + * if we are within a CDATA section ']]>' marks an end of section. + * + * [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*) + */ + +static void +htmlParseCharData(htmlParserCtxtPtr ctxt) { + htmlParseCharDataInternal(ctxt, 0); } /** @@ -3245,12 +3264,17 @@ ctxt->instate = state; return; } + len = 0; + buf[len] = 0; q = CUR_CHAR(ql); + if (!IS_CHAR(q)) + goto unfinished; NEXTL(ql); r = CUR_CHAR(rl); + if (!IS_CHAR(r)) + goto unfinished; NEXTL(rl); cur = CUR_CHAR(l); - len = 0; while (IS_CHAR(cur) && ((cur != '>') || (r != '-') || (q != '-'))) { @@ -3281,18 +3305,20 @@ } } buf[len] = 0; - if (!IS_CHAR(cur)) { - htmlParseErr(ctxt, XML_ERR_COMMENT_NOT_FINISHED, - "Comment not terminated \n<!--%.50s\n", buf, NULL); - xmlFree(buf); - } else { + if (IS_CHAR(cur)) { NEXT; if ((ctxt->sax != NULL) && (ctxt->sax->comment != NULL) && (!ctxt->disableSAX)) ctxt->sax->comment(ctxt->userData, buf); xmlFree(buf); - } - ctxt->instate = state; + ctxt->instate = state; + return; + } + +unfinished: + htmlParseErr(ctxt, XML_ERR_COMMENT_NOT_FINISHED, + "Comment not terminated \n<!--%.50s\n", buf, NULL); + xmlFree(buf); } /** @@ -3690,6 +3716,14 @@ htmlParseErr(ctxt, XML_ERR_NAME_REQUIRED, "htmlParseStartTag: invalid element name\n", NULL, NULL); + /* if recover preserve text on classic misconstructs */ + if ((ctxt->recovery) && ((IS_BLANK_CH(CUR)) || (CUR == '<') || + (CUR == '=') || (CUR == '>') || (((CUR >= '0') && (CUR <= '9'))))) { + htmlParseCharDataInternal(ctxt, '<'); + return(-1); + } + + /* Dump the bogus tag like browsers do */ while ((IS_CHAR_CH(CUR)) && (CUR != '>') && (ctxt->instate != XML_PARSER_EOF)) @@ -5701,17 +5735,17 @@ if (ctxt->keepBlanks) { if (ctxt->sax->characters != NULL) ctxt->sax->characters( - ctxt->userData, &cur, 1); + ctxt->userData, &in->cur[0], 1); } else { if (ctxt->sax->ignorableWhitespace != NULL) ctxt->sax->ignorableWhitespace( - ctxt->userData, &cur, 1); + ctxt->userData, &in->cur[0], 1); } } else { htmlCheckParagraph(ctxt); if (ctxt->sax->characters != NULL) ctxt->sax->characters( - ctxt->userData, &cur, 1); + ctxt->userData, &in->cur[0], 1); } } ctxt->token = 0; Modified: trunk/reactos/lib/3rdparty/libxml2/HTMLtree.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/HTMLt…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/HTMLtree.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/HTMLtree.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -668,7 +668,8 @@ xmlOutputBufferWriteString(buf, " "); xmlBufWriteQuotedString(buf->buffer, cur->SystemID); } - } else if (cur->SystemID != NULL) { + } else if (cur->SystemID != NULL && + xmlStrcmp(cur->SystemID, BAD_CAST "about:legacy-compat")) { xmlOutputBufferWriteString(buf, " SYSTEM "); xmlBufWriteQuotedString(buf->buffer, cur->SystemID); } Modified: trunk/reactos/lib/3rdparty/libxml2/buf.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/buf.c…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/buf.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/buf.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -27,6 +27,7 @@ #include <libxml/tree.h> #include <libxml/globals.h> #include <libxml/tree.h> +#include <libxml/parserInternals.h> /* for XML_MAX_TEXT_LENGTH */ #include "buf.h" #define WITH_BUFFER_COMPAT @@ -299,7 +300,8 @@ if ((scheme == XML_BUFFER_ALLOC_DOUBLEIT) || (scheme == XML_BUFFER_ALLOC_EXACT) || (scheme == XML_BUFFER_ALLOC_HYBRID) || - (scheme == XML_BUFFER_ALLOC_IMMUTABLE)) { + (scheme == XML_BUFFER_ALLOC_IMMUTABLE) || + (scheme == XML_BUFFER_ALLOC_BOUNDED)) { buf->alloc = scheme; if (buf->buffer) buf->buffer->alloc = scheme; @@ -458,6 +460,18 @@ size = buf->use + len + 100; #endif + if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) { + /* + * Used to provide parsing limits + */ + if ((buf->use + len >= XML_MAX_TEXT_LENGTH) || + (buf->size >= XML_MAX_TEXT_LENGTH)) { + xmlBufMemoryError(buf, "buffer error: text too long\n"); + return(0); + } + if (size >= XML_MAX_TEXT_LENGTH) + size = XML_MAX_TEXT_LENGTH; + } if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) { size_t start_buf = buf->content - buf->contentIO; @@ -739,6 +753,15 @@ CHECK_COMPAT(buf) if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0); + if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) { + /* + * Used to provide parsing limits + */ + if (size >= XML_MAX_TEXT_LENGTH) { + xmlBufMemoryError(buf, "buffer error: text too long\n"); + return(0); + } + } /* Don't resize if we don't have to */ if (size < buf->size) @@ -867,6 +890,15 @@ needSize = buf->use + len + 2; if (needSize > buf->size){ + if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) { + /* + * Used to provide parsing limits + */ + if (needSize >= XML_MAX_TEXT_LENGTH) { + xmlBufMemoryError(buf, "buffer error: text too long\n"); + return(-1); + } + } if (!xmlBufResize(buf, needSize)){ xmlBufMemoryError(buf, "growing buffer"); return XML_ERR_NO_MEMORY; @@ -938,6 +970,15 @@ } needSize = buf->use + len + 2; if (needSize > buf->size){ + if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) { + /* + * Used to provide parsing limits + */ + if (needSize >= XML_MAX_TEXT_LENGTH) { + xmlBufMemoryError(buf, "buffer error: text too long\n"); + return(-1); + } + } if (!xmlBufResize(buf, needSize)){ xmlBufMemoryError(buf, "growing buffer"); return XML_ERR_NO_MEMORY; Modified: trunk/reactos/lib/3rdparty/libxml2/dict.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/dict.…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/dict.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/dict.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -486,7 +486,10 @@ value += 30 * (*prefix); if (len > 10) { - value += name[len - (plen + 1 + 1)]; + int offset = len - (plen + 1 + 1); + if (offset < 0) + offset = len - (10 + 1); + value += name[offset]; len = 10; if (plen > 10) plen = 10; Modified: trunk/reactos/lib/3rdparty/libxml2/error.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/error…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/error.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/error.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -177,7 +177,9 @@ xmlChar content[81]; /* space for 80 chars + line terminator */ xmlChar *ctnt; - if (input == NULL) return; + if ((input == NULL) || (input->cur == NULL) || + (*input->cur == 0)) return; + cur = input->cur; base = input->base; /* skip backwards over any end-of-lines */ Modified: trunk/reactos/lib/3rdparty/libxml2/parser.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/parse…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/parser.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/parser.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -93,6 +93,8 @@ static xmlParserCtxtPtr xmlCreateEntityParserCtxtInternal(const xmlChar *URL, const xmlChar *ID, const xmlChar *base, xmlParserCtxtPtr pctx); + +static void xmlHaltParser(xmlParserCtxtPtr ctxt); /************************************************************************ * * @@ -1771,7 +1773,7 @@ xmlFatalErrMsgInt(ctxt, XML_ERR_INTERNAL_ERROR, "Excessive depth in document: %d use XML_PARSE_HUGE option\n", xmlParserMaxDepth); - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); return(-1); } ctxt->nodeTab[ctxt->nodeNr] = value; @@ -2073,9 +2075,16 @@ ((ctxt->input->buf) && (ctxt->input->buf->readcallback != (xmlInputReadCallback) xmlNop)) && ((ctxt->options & XML_PARSE_HUGE) == 0)) { xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "Huge input lookup"); - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); + return; } xmlParserInputGrow(ctxt->input, INPUT_CHUNK); + if ((ctxt->input->cur > ctxt->input->end) || + (ctxt->input->cur < ctxt->input->base)) { + xmlHaltParser(ctxt); + xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "cur index out of bound"); + return; + } if ((ctxt->input->cur != NULL) && (*ctxt->input->cur == 0) && (xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0)) xmlPopInput(ctxt); @@ -2151,7 +2160,8 @@ int cur; do { cur = CUR; - while (IS_BLANK_CH(cur)) { /* CHECKED tstblanks.xml */ + while ((IS_BLANK_CH(cur) && /* CHECKED tstblanks.xml */ + (ctxt->instate != XML_PARSER_EOF))) { NEXT; cur = CUR; res++; @@ -2165,7 +2175,8 @@ * Need to handle support of entities branching here */ if (*ctxt->input->cur == '%') xmlParserHandlePEReference(ctxt); - } while (IS_BLANK(cur)); /* CHECKED tstblanks.xml */ + } while ((IS_BLANK(cur)) && /* CHECKED tstblanks.xml */ + (ctxt->instate != XML_PARSER_EOF)); } return(res); } @@ -2806,6 +2817,10 @@ 0, 0, 0); ctxt->depth--; + if ((ctxt->lastError.code == XML_ERR_ENTITY_LOOP) || + (ctxt->lastError.code == XML_ERR_INTERNAL_ERROR)) + goto int_error; + if (rep != NULL) { current = rep; while (*current != 0) { /* non input consuming loop */ @@ -3491,7 +3506,14 @@ c = CUR_CHAR(l); if (c == 0) { count = 0; + /* + * when shrinking to extend the buffer we really need to preserve + * the part of the name we already parsed. Hence rolling back + * by current lenght. + */ + ctxt->input->cur -= l; GROW; + ctxt->input->cur += l; if (ctxt->instate == XML_PARSER_EOF) return(NULL); end = ctxt->input->cur; @@ -3523,7 +3545,7 @@ static const xmlChar * xmlParseNCName(xmlParserCtxtPtr ctxt) { - const xmlChar *in; + const xmlChar *in, *e; const xmlChar *ret; int count = 0; @@ -3535,16 +3557,19 @@ * Accelerator for simple ASCII names */ in = ctxt->input->cur; - if (((*in >= 0x61) && (*in <= 0x7A)) || - ((*in >= 0x41) && (*in <= 0x5A)) || - (*in == '_')) { + e = ctxt->input->end; + if ((((*in >= 0x61) && (*in <= 0x7A)) || + ((*in >= 0x41) && (*in <= 0x5A)) || + (*in == '_')) && (in < e)) { in++; - while (((*in >= 0x61) && (*in <= 0x7A)) || - ((*in >= 0x41) && (*in <= 0x5A)) || - ((*in >= 0x30) && (*in <= 0x39)) || - (*in == '_') || (*in == '-') || - (*in == '.')) + while ((((*in >= 0x61) && (*in <= 0x7A)) || + ((*in >= 0x41) && (*in <= 0x5A)) || + ((*in >= 0x30) && (*in <= 0x39)) || + (*in == '_') || (*in == '-') || + (*in == '.')) && (in < e)) in++; + if (in >= e) + goto complex; if ((*in > 0) && (*in < 0x80)) { count = in - ctxt->input->cur; if ((count > XML_MAX_NAME_LENGTH) && @@ -3562,6 +3587,7 @@ return(ret); } } +complex: return(xmlParseNCNameComplex(ctxt)); } @@ -5658,6 +5684,7 @@ if (RAW != '>') { xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_NOT_FINISHED, "xmlParseEntityDecl: entity %s not terminated\n", name); + xmlHaltParser(ctxt); } else { if (input != ctxt->input) { xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY, @@ -6769,6 +6796,8 @@ SKIP_BLANKS; if (RAW != '[') { xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID, NULL); + xmlHaltParser(ctxt); + return; } else { if (ctxt->input->id != id) { xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY, @@ -6829,6 +6858,8 @@ SKIP_BLANKS; if (RAW != '[') { xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID, NULL); + xmlHaltParser(ctxt); + return; } else { if (ctxt->input->id != id) { xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY, @@ -6884,6 +6915,8 @@ } else { xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID_KEYWORD, NULL); + xmlHaltParser(ctxt); + return; } if (RAW == 0) @@ -6897,7 +6930,9 @@ "All markup of the conditional section is not in the same entity\n", NULL, NULL); } - SKIP(3); + if ((ctxt-> instate != XML_PARSER_EOF) && + ((ctxt->input->cur + 3) <= ctxt->input->end)) + SKIP(3); } } @@ -6952,6 +6987,14 @@ xmlParsePI(ctxt); } } + + /* + * detect requirement to exit there and act accordingly + * and avoid having instate overriden later on + */ + if (ctxt->instate == XML_PARSER_EOF) + return; + /* * This is only for internal subset. On external entities, * the replacement is done before parsing stage @@ -7083,7 +7126,7 @@ /* * The XML REC instructs us to stop parsing right here */ - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); return; } } @@ -7235,7 +7278,8 @@ * far more secure as the parser will only process data coming from * the document entity by default. */ - if ((ent->checked == 0) && + if (((ent->checked == 0) || + ((ent->children == NULL) && (ctxt->options & XML_PARSE_NOENT))) && ((ent->etype != XML_EXTERNAL_GENERAL_PARSED_ENTITY) || (ctxt->options & (XML_PARSE_NOENT | XML_PARSE_DTDVALID)))) { unsigned long oldnbent = ctxt->nbentities; @@ -8069,7 +8113,7 @@ * The XML REC instructs us to stop parsing * right here */ - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); return; } } @@ -9304,7 +9348,7 @@ const xmlChar **atts = ctxt->atts; int maxatts = ctxt->maxatts; int nratts, nbatts, nbdef; - int i, j, nbNs, attval, oldline, oldcol; + int i, j, nbNs, attval, oldline, oldcol, inputNr; const xmlChar *base; unsigned long cur; int nsNr = ctxt->nsNr; @@ -9323,6 +9367,7 @@ SHRINK; base = ctxt->input->base; cur = ctxt->input->cur - ctxt->input->base; + inputNr = ctxt->inputNr; oldline = ctxt->input->line; oldcol = ctxt->input->col; nbatts = 0; @@ -9348,7 +9393,8 @@ */ SKIP_BLANKS; GROW; - if (ctxt->input->base != base) goto base_changed; + if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr)) + goto base_changed; while (((RAW != '>') && ((RAW != '/') || (NXT(1) != '>')) && @@ -9359,7 +9405,7 @@ attname = xmlParseAttribute2(ctxt, prefix, localname, &aprefix, &attvalue, &len, &alloc); - if (ctxt->input->base != base) { + if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr)) { if ((attvalue != NULL) && (alloc != 0)) xmlFree(attvalue); attvalue = NULL; @@ -9508,7 +9554,8 @@ break; } SKIP_BLANKS; - if (ctxt->input->base != base) goto base_changed; + if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr)) + goto base_changed; continue; } @@ -9545,7 +9592,8 @@ GROW if (ctxt->instate == XML_PARSER_EOF) break; - if (ctxt->input->base != base) goto base_changed; + if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr)) + goto base_changed; if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>')))) break; if (!IS_BLANK_CH(RAW)) { @@ -9561,7 +9609,8 @@ break; } GROW; - if (ctxt->input->base != base) goto base_changed; + if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr)) + goto base_changed; } /* @@ -9728,6 +9777,17 @@ if ((ctxt->attallocs[j] != 0) && (atts[i] != NULL)) xmlFree((xmlChar *) atts[i]); } + + /* + * We can't switch from one entity to another in the middle + * of a start tag + */ + if (inputNr != ctxt->inputNr) { + xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY, + "Start tag doesn't start and stop in the same entity\n"); + return(NULL); + } + ctxt->input->cur = ctxt->input->base + cur; ctxt->input->line = oldline; ctxt->input->col = oldcol; @@ -10009,7 +10069,7 @@ if ((cons == ctxt->input->consumed) && (test == CUR_PTR)) { xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "detected an error in element content\n"); - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); break; } } @@ -10044,7 +10104,7 @@ xmlFatalErrMsgInt(ctxt, XML_ERR_INTERNAL_ERROR, "Excessive depth in document: %d use XML_PARSE_HUGE option\n", xmlParserMaxDepth); - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); return; } @@ -10396,6 +10456,8 @@ encoding = xmlParseEncName(ctxt); if (RAW != '"') { xmlFatalErr(ctxt, XML_ERR_STRING_NOT_CLOSED, NULL); + xmlFree((xmlChar *) encoding); + return(NULL); } else NEXT; } else if (RAW == '\''){ @@ -10403,6 +10465,8 @@ encoding = xmlParseEncName(ctxt); if (RAW != '\'') { xmlFatalErr(ctxt, XML_ERR_STRING_NOT_CLOSED, NULL); + xmlFree((xmlChar *) encoding); + return(NULL); } else NEXT; } else { @@ -10459,7 +10523,11 @@ handler = xmlFindCharEncodingHandler((const char *) encoding); if (handler != NULL) { - xmlSwitchToEncoding(ctxt, handler); + if (xmlSwitchToEncoding(ctxt, handler) < 0) { + /* failed to convert */ + ctxt->errNo = XML_ERR_UNSUPPORTED_ENCODING; + return(NULL); + } } else { xmlFatalErrMsgStr(ctxt, XML_ERR_UNSUPPORTED_ENCODING, "Unsupported encoding %s\n", encoding); @@ -10628,7 +10696,8 @@ xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED, "Blank needed here\n"); } xmlParseEncodingDecl(ctxt); - if (ctxt->errNo == XML_ERR_UNSUPPORTED_ENCODING) { + if ((ctxt->errNo == XML_ERR_UNSUPPORTED_ENCODING) || + (ctxt->instate == XML_PARSER_EOF)) { /* * The XML REC instructs us to stop parsing right here */ @@ -10752,6 +10821,7 @@ if (CUR == 0) { xmlFatalErr(ctxt, XML_ERR_DOCUMENT_EMPTY, NULL); + return(-1); } /* @@ -10769,7 +10839,8 @@ * Note that we will switch encoding on the fly. */ xmlParseXMLDecl(ctxt); - if (ctxt->errNo == XML_ERR_UNSUPPORTED_ENCODING) { + if ((ctxt->errNo == XML_ERR_UNSUPPORTED_ENCODING) || + (ctxt->instate == XML_PARSER_EOF)) { /* * The XML REC instructs us to stop parsing right here */ @@ -11165,7 +11236,7 @@ else return(-ix); } else if ((c & 0xe0) == 0xc0) {/* 2-byte code, starts with 110 */ - if (ix + 2 > len) return(ix); + if (ix + 2 > len) return(-ix); if ((utf[ix+1] & 0xc0 ) != 0x80) return(-ix); codepoint = (utf[ix] & 0x1f) << 6; @@ -11174,7 +11245,7 @@ return(-ix); ix += 2; } else if ((c & 0xf0) == 0xe0) {/* 3-byte code, starts with 1110 */ - if (ix + 3 > len) return(ix); + if (ix + 3 > len) return(-ix); if (((utf[ix+1] & 0xc0) != 0x80) || ((utf[ix+2] & 0xc0) != 0x80)) return(-ix); @@ -11185,7 +11256,7 @@ return(-ix); ix += 3; } else if ((c & 0xf8) == 0xf0) {/* 4-byte code, starts with 11110 */ - if (ix + 4 > len) return(ix); + if (ix + 4 > len) return(-ix); if (((utf[ix+1] & 0xc0) != 0x80) || ((utf[ix+2] & 0xc0) != 0x80) || ((utf[ix+3] & 0xc0) != 0x80)) @@ -11363,7 +11434,7 @@ ctxt->sax->setDocumentLocator(ctxt->userData, &xmlDefaultSAXLocator); xmlFatalErr(ctxt, XML_ERR_DOCUMENT_EMPTY, NULL); - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, "PP: entering EOF\n"); @@ -11396,7 +11467,7 @@ * The XML REC instructs us to stop parsing right * here */ - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); return(0); } ctxt->standalone = ctxt->input->standalone; @@ -11452,7 +11523,7 @@ cur = ctxt->input->cur[0]; if (cur != '<') { xmlFatalErr(ctxt, XML_ERR_DOCUMENT_EMPTY, NULL); - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); if ((ctxt->sax) && (ctxt->sax->endDocument != NULL)) ctxt->sax->endDocument(ctxt->userData); goto done; @@ -11484,7 +11555,7 @@ goto done; if (name == NULL) { spacePop(ctxt); - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); if ((ctxt->sax) && (ctxt->sax->endDocument != NULL)) ctxt->sax->endDocument(ctxt->userData); goto done; @@ -11651,7 +11722,7 @@ if ((cons == ctxt->input->consumed) && (test == CUR_PTR)) { xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "detected an error in element content\n"); - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); break; } break; @@ -11972,7 +12043,7 @@ goto done; } else { xmlFatalErr(ctxt, XML_ERR_DOCUMENT_END, NULL); - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); #ifdef DEBUG_PUSH xmlGenericError(xmlGenericErrorContext, "PP: entering EOF\n"); @@ -12336,7 +12407,7 @@ res = xmlParserInputBufferPush(ctxt->input->buf, size, chunk); if (res < 0) { ctxt->errNo = XML_PARSER_EOF; - ctxt->disableSAX = 1; + xmlHaltParser(ctxt); return (XML_PARSER_EOF); } xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input, base, cur); @@ -12390,7 +12461,7 @@ ((ctxt->input->cur - ctxt->input->base) > XML_MAX_LOOKUP_LIMIT)) && ((ctxt->options & XML_PARSE_HUGE) == 0)) { xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "Huge input lookup"); - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); } if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX == 1)) return(ctxt->errNo); @@ -12578,6 +12649,33 @@ #endif /* LIBXML_PUSH_ENABLED */ /** + * xmlHaltParser: + * @ctxt: an XML parser context + * + * Blocks further parser processing don't override error + * for internal use + */ +static void +xmlHaltParser(xmlParserCtxtPtr ctxt) { + if (ctxt == NULL) + return; + ctxt->instate = XML_PARSER_EOF; + ctxt->disableSAX = 1; + if (ctxt->input != NULL) { + /* + * in case there was a specific allocation deallocate before + * overriding base + */ + if (ctxt->input->free != NULL) { + ctxt->input->free((xmlChar *) ctxt->input->base); + ctxt->input->free = NULL; + } + ctxt->input->cur = BAD_CAST""; + ctxt->input->base = ctxt->input->cur; + } +} + +/** * xmlStopParser: * @ctxt: an XML parser context * @@ -12587,13 +12685,8 @@ xmlStopParser(xmlParserCtxtPtr ctxt) { if (ctxt == NULL) return; - ctxt->instate = XML_PARSER_EOF; + xmlHaltParser(ctxt); ctxt->errNo = XML_ERR_USER_STOP; - ctxt->disableSAX = 1; - if (ctxt->input != NULL) { - ctxt->input->cur = BAD_CAST""; - ctxt->input->base = ctxt->input->cur; - } } /** @@ -13340,7 +13433,7 @@ /* * Also record the size of the entity parsed */ - if (ctxt->input != NULL) { + if (ctxt->input != NULL && oldctxt != NULL) { oldctxt->sizeentities += ctxt->input->consumed; oldctxt->sizeentities += (ctxt->input->cur - ctxt->input->base); } @@ -13352,9 +13445,11 @@ if (sax != NULL) ctxt->sax = oldsax; - oldctxt->node_seq.maximum = ctxt->node_seq.maximum; - oldctxt->node_seq.length = ctxt->node_seq.length; - oldctxt->node_seq.buffer = ctxt->node_seq.buffer; + if (oldctxt != NULL) { + oldctxt->node_seq.maximum = ctxt->node_seq.maximum; + oldctxt->node_seq.length = ctxt->node_seq.length; + oldctxt->node_seq.buffer = ctxt->node_seq.buffer; + } ctxt->node_seq.maximum = 0; ctxt->node_seq.length = 0; ctxt->node_seq.buffer = NULL; @@ -14829,9 +14924,6 @@ #endif #ifdef LIBXML_XPATH_ENABLED xmlXPathInit(); -#endif -#ifdef LIBXML_CATALOG_ENABLED - xmlInitializeCatalog(); #endif xmlParserInitialized = 1; #ifdef LIBXML_THREAD_ENABLED Modified: trunk/reactos/lib/3rdparty/libxml2/parserInternals.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/parse…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/parserInternals.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/parserInternals.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -937,6 +937,7 @@ { xmlCharEncodingHandlerPtr handler; int len = -1; + int ret; if (ctxt == NULL) return(-1); switch (enc) { @@ -1097,7 +1098,15 @@ if (handler == NULL) return(-1); ctxt->charset = XML_CHAR_ENCODING_UTF8; - return(xmlSwitchToEncodingInt(ctxt, handler, len)); + ret = xmlSwitchToEncodingInt(ctxt, handler, len); + if ((ret < 0) || (ctxt->errNo == XML_I18N_CONV_FAILED)) { + /* + * on encoding conversion errors, stop the parser + */ + xmlStopParser(ctxt); + ctxt->errNo = XML_I18N_CONV_FAILED; + } + return(ret); } /** @@ -1450,6 +1459,8 @@ if (entity->URI != NULL) input->filename = (char *) xmlStrdup((xmlChar *) entity->URI); input->base = entity->content; + if (entity->length == 0) + entity->length = xmlStrlen(entity->content); input->cur = entity->content; input->length = entity->length; input->end = &entity->content[input->length]; Modified: trunk/reactos/lib/3rdparty/libxml2/relaxng.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/relax…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/relaxng.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/relaxng.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -3819,7 +3819,11 @@ return (0); return (1); } else if (def1->type == XML_RELAXNG_EXCEPT) { - TODO ret = 0; + ret = xmlRelaxNGCompareNameClasses(def1->content, def2); + if (ret == 0) + ret = 1; + else if (ret == 1) + ret = 0; } else { TODO ret = 0; } @@ -9859,7 +9863,7 @@ ctxt->depth++; switch (define->type) { case XML_RELAXNG_EMPTY: - node = xmlRelaxNGSkipIgnored(ctxt, node); + xmlRelaxNGSkipIgnored(ctxt, node); ret = 0; break; case XML_RELAXNG_NOT_ALLOWED: Modified: trunk/reactos/lib/3rdparty/libxml2/threads.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/threa…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/threads.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/threads.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -47,7 +47,7 @@ #ifdef HAVE_PTHREAD_H static int libxml_is_threaded = -1; -#ifdef __GNUC__ +#if defined(__GNUC__) && defined(__GLIBC__) #ifdef linux #if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (__GNUC__ > 3) extern int pthread_once (pthread_once_t *__once_control, @@ -89,7 +89,7 @@ __attribute((weak)); #endif #endif /* linux */ -#endif /* __GNUC__ */ +#endif /* defined(__GNUC__) && defined(__GLIBC__) */ #endif /* HAVE_PTHREAD_H */ /* @@ -415,8 +415,8 @@ pthread_mutex_unlock(&tok->lock); #elif defined HAVE_WIN32_THREADS if (tok->count > 0) { + tok->count--; LeaveCriticalSection(&tok->cs); - tok->count--; } #elif defined HAVE_BEOS_THREADS if (tok->lock->tid == find_thread(NULL)) { Modified: trunk/reactos/lib/3rdparty/libxml2/timsort.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/timso…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/timsort.h [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/timsort.h [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -392,62 +392,66 @@ static int TIM_SORT_COLLAPSE(SORT_TYPE *dst, TIM_SORT_RUN_T *stack, int stack_curr, TEMP_STORAGE_T *store, const size_t size) { - while (1) - { - int64_t A, B, C; + while (1) { + int64_t A, B, C, D; + int ABC, BCD, BD, CD; + /* if the stack only has one thing on it, we are done with the collapse */ - if (stack_curr <= 1) break; + if (stack_curr <= 1) { + break; + } + /* if this is the last merge, just do it */ - if ((stack_curr == 2) && - (stack[0].length + stack[1].length == (int64_t) size)) - { + if ((stack_curr == 2) && (stack[0].length + stack[1].length == size)) { TIM_SORT_MERGE(dst, stack, stack_curr, store); stack[0].length += stack[1].length; stack_curr--; break; } /* check if the invariant is off for a stack of 2 elements */ - else if ((stack_curr == 2) && (stack[0].length <= stack[1].length)) - { + else if ((stack_curr == 2) && (stack[0].length <= stack[1].length)) { TIM_SORT_MERGE(dst, stack, stack_curr, store); stack[0].length += stack[1].length; stack_curr--; break; - } - else if (stack_curr == 2) + } else if (stack_curr == 2) { break; - - A = stack[stack_curr - 3].length; - B = stack[stack_curr - 2].length; - C = stack[stack_curr - 1].length; - - /* check first invariant */ - if (A <= B + C) - { - if (A < C) - { - TIM_SORT_MERGE(dst, stack, stack_curr - 1, store); - stack[stack_curr - 3].length += stack[stack_curr - 2].length; - stack[stack_curr - 2] = stack[stack_curr - 1]; - stack_curr--; - } - else - { - TIM_SORT_MERGE(dst, stack, stack_curr, store); - stack[stack_curr - 2].length += stack[stack_curr - 1].length; - stack_curr--; - } - } - /* check second invariant */ - else if (B <= C) - { + } + + B = stack[stack_curr - 3].length; + C = stack[stack_curr - 2].length; + D = stack[stack_curr - 1].length; + + if (stack_curr >= 4) { + A = stack[stack_curr - 4].length; + ABC = (A <= B + C); + } else { + ABC = 0; + } + + BCD = (B <= C + D) || ABC; + CD = (C <= D); + BD = (B < D); + + /* Both invariants are good */ + if (!BCD && !CD) { + break; + } + + /* left merge */ + if (BCD && !CD) { + TIM_SORT_MERGE(dst, stack, stack_curr - 1, store); + stack[stack_curr - 3].length += stack[stack_curr - 2].length; + stack[stack_curr - 2] = stack[stack_curr - 1]; + stack_curr--; + } else { + /* right merge */ TIM_SORT_MERGE(dst, stack, stack_curr, store); stack[stack_curr - 2].length += stack[stack_curr - 1].length; stack_curr--; } - else - break; - } + } + return stack_curr; } Modified: trunk/reactos/lib/3rdparty/libxml2/tree.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/tree.…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/tree.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/tree.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -1451,9 +1451,9 @@ node->content = xmlBufDetach(buf); if (last == NULL) { - last = ret = node; + ret = node; } else { - last = xmlAddNextSibling(last, node); + xmlAddNextSibling(last, node); } } else if (ret == NULL) { ret = xmlNewDocText(doc, BAD_CAST ""); @@ -1639,9 +1639,9 @@ node->content = xmlBufDetach(buf); if (last == NULL) { - last = ret = node; + ret = node; } else { - last = xmlAddNextSibling(last, node); + xmlAddNextSibling(last, node); } } @@ -2799,8 +2799,27 @@ if(tree->type == XML_ELEMENT_NODE) { prop = tree->properties; while (prop != NULL) { + if (prop->atype == XML_ATTRIBUTE_ID) { + xmlRemoveID(tree->doc, prop); + } + prop->doc = doc; xmlSetListDoc(prop->children, doc); + + /* + * TODO: ID attributes should be also added to the new + * document, but this breaks things like xmlReplaceNode. + * The underlying problem is that xmlRemoveID is only called + * if a node is destroyed, not if it's unlinked. + */ +#if 0 + if (xmlIsID(doc, tree, prop)) { + xmlChar *idVal = xmlNodeListGetString(doc, prop->children, + 1); + xmlAddID(NULL, doc, idVal, prop); + } +#endif + prop = prop->next; } } Modified: trunk/reactos/lib/3rdparty/libxml2/valid.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/valid…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/valid.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/valid.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -2634,8 +2634,10 @@ /* * The id is already defined in this DTD. */ - xmlErrValidNode(ctxt, attr->parent, XML_DTD_ID_REDEFINED, - "ID %s already defined\n", value, NULL, NULL); + if (ctxt != NULL) { + xmlErrValidNode(ctxt, attr->parent, XML_DTD_ID_REDEFINED, + "ID %s already defined\n", value, NULL, NULL); + } #endif /* LIBXML_VALID_ENABLED */ xmlFreeID(ret); return(NULL); Modified: trunk/reactos/lib/3rdparty/libxml2/xmlIO.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/xmlIO…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/xmlIO.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/xmlIO.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -1335,7 +1335,7 @@ } #endif /* HAVE_ZLIB_H */ -#ifdef HAVE_LZMA_H +#ifdef LIBXML_LZMA_ENABLED /************************************************************************ * * * I/O for compressed file accesses * @@ -1452,7 +1452,7 @@ if (ret < 0) xmlIOErr(0, "xzclose()"); return(ret); } -#endif /* HAVE_LZMA_H */ +#endif /* LIBXML_LZMA_ENABLED */ #ifdef LIBXML_HTTP_ENABLED /************************************************************************ @@ -2329,10 +2329,10 @@ xmlRegisterInputCallbacks(xmlGzfileMatch, xmlGzfileOpen, xmlGzfileRead, xmlGzfileClose); #endif /* HAVE_ZLIB_H */ -#ifdef HAVE_LZMA_H +#ifdef LIBXML_LZMA_ENABLED xmlRegisterInputCallbacks(xmlXzfileMatch, xmlXzfileOpen, xmlXzfileRead, xmlXzfileClose); -#endif /* HAVE_ZLIB_H */ +#endif /* LIBXML_LZMA_ENABLED */ #ifdef LIBXML_HTTP_ENABLED xmlRegisterInputCallbacks(xmlIOHTTPMatch, xmlIOHTTPOpen, @@ -2684,7 +2684,7 @@ #endif } #endif -#ifdef HAVE_LZMA_H +#ifdef LIBXML_LZMA_ENABLED if ((xmlInputCallbackTable[i].opencallback == xmlXzfileOpen) && (strcmp(URI, "-") != 0)) { ret->compressed = __libxml2_xzcompressed(context); @@ -3351,7 +3351,7 @@ * try to establish compressed status of input if not done already */ if (in->compressed == -1) { -#ifdef HAVE_LZMA_H +#ifdef LIBXML_LZMA_ENABLED if (in->readcallback == xmlXzfileRead) in->compressed = __libxml2_xzcompressed(in->context); #endif Modified: trunk/reactos/lib/3rdparty/libxml2/xmllint.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/xmlli…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/xmllint.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/xmllint.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -3046,7 +3046,7 @@ printf("\t--noblanks : drop (ignorable?) blanks spaces\n"); printf("\t--nocdata : replace cdata section with text nodes\n"); #ifdef LIBXML_OUTPUT_ENABLED - printf("\t--format : reformat/reindent the input\n"); + printf("\t--format : reformat/reindent the output\n"); printf("\t--encode encoding : output in the given encoding\n"); printf("\t--dropdtd : remove the DOCTYPE of the input docs\n"); printf("\t--pretty STYLE : pretty-print in a particular style\n"); Modified: trunk/reactos/lib/3rdparty/libxml2/xmlmemory.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/xmlme…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/xmlmemory.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/xmlmemory.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -554,7 +554,12 @@ int xmlMemUsed(void) { - return(debugMemSize); + int res; + + xmlMutexLock(xmlMemMutex); + res = debugMemSize; + xmlMutexUnlock(xmlMemMutex); + return(res); } /** @@ -567,7 +572,12 @@ int xmlMemBlocks(void) { - return(debugMemBlocks); + int res; + + xmlMutexLock(xmlMemMutex); + res = debugMemBlocks; + xmlMutexUnlock(xmlMemMutex); + return(res); } #ifdef MEM_LIST Modified: trunk/reactos/lib/3rdparty/libxml2/xmlreader.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/xmlre…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/xmlreader.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/xmlreader.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -2091,6 +2091,9 @@ "xmlNewTextReader : malloc failed\n"); return(NULL); } + /* no operation on a reader should require a huge buffer */ + xmlBufSetAllocationScheme(ret->buffer, + XML_BUFFER_ALLOC_BOUNDED); ret->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler)); if (ret->sax == NULL) { xmlBufFree(ret->buffer); @@ -3616,6 +3619,7 @@ return(((xmlNsPtr) node)->href); case XML_ATTRIBUTE_NODE:{ xmlAttrPtr attr = (xmlAttrPtr) node; + const xmlChar *ret; if ((attr->children != NULL) && (attr->children->type == XML_TEXT_NODE) && @@ -3629,10 +3633,21 @@ "xmlTextReaderSetup : malloc failed\n"); return (NULL); } + xmlBufSetAllocationScheme(reader->buffer, + XML_BUFFER_ALLOC_BOUNDED); } else xmlBufEmpty(reader->buffer); xmlBufGetNodeContent(reader->buffer, node); - return(xmlBufContent(reader->buffer)); + ret = xmlBufContent(reader->buffer); + if (ret == NULL) { + /* error on the buffer best to reallocate */ + xmlBufFree(reader->buffer); + reader->buffer = xmlBufCreateSize(100); + xmlBufSetAllocationScheme(reader->buffer, + XML_BUFFER_ALLOC_BOUNDED); + ret = BAD_CAST ""; + } + return(ret); } break; } @@ -5131,6 +5146,9 @@ "xmlTextReaderSetup : malloc failed\n"); return (-1); } + /* no operation on a reader should require a huge buffer */ + xmlBufSetAllocationScheme(reader->buffer, + XML_BUFFER_ALLOC_BOUNDED); if (reader->sax == NULL) reader->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler)); if (reader->sax == NULL) { Modified: trunk/reactos/lib/3rdparty/libxml2/xmlschemas.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/xmlsc…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/xmlschemas.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/xmlschemas.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -24186,6 +24186,7 @@ else goto pattern_and_enum; } + /* * Whitespace handling is only of importance for string-based * types. @@ -24196,14 +24197,13 @@ ws = xmlSchemaGetWhiteSpaceFacetValue(type); } else ws = XML_SCHEMA_WHITESPACE_COLLAPSE; + /* * If the value was not computed (for string or * anySimpleType based types), then use the provided * type. */ - if (val == NULL) - valType = valType; - else + if (val != NULL) valType = xmlSchemaGetValType(val); ret = 0; @@ -25546,7 +25546,7 @@ if (xmlNewProp(defAttrOwnerElem, iattr->localName, value) == NULL) { VERROR_INT("xmlSchemaVAttributesComplex", - "callling xmlNewProp()"); + "calling xmlNewProp()"); if (normValue != NULL) xmlFree(normValue); goto internal_error; Modified: trunk/reactos/lib/3rdparty/libxml2/xpath.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/xpath…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/xpath.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/xpath.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -361,14 +361,14 @@ /* * compute depth to root */ - for (depth2 = 0, cur = node2;cur->parent != NULL;cur = cur->parent) { - if (cur == node1) + for (depth2 = 0, cur = node2; cur->parent != NULL; cur = cur->parent) { + if (cur->parent == node1) return(1); depth2++; } root = cur; - for (depth1 = 0, cur = node1;cur->parent != NULL;cur = cur->parent) { - if (cur == node2) + for (depth1 = 0, cur = node1; cur->parent != NULL; cur = cur->parent) { + if (cur->parent == node2) return(-1); depth1++; } @@ -7933,14 +7933,14 @@ xmlNodePtr xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) { if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL); - if (cur == NULL) { - if (ctxt->context->node == NULL) - return(NULL); - if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) || - (ctxt->context->node->type == XML_NAMESPACE_DECL)) - return(NULL); + if (cur == NULL) return(ctxt->context->node); - } + + if (ctxt->context->node == NULL) + return(NULL); + if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) || + (ctxt->context->node->type == XML_NAMESPACE_DECL)) + return(NULL); return(xmlXPathNextDescendant(ctxt, cur)); } Modified: trunk/reactos/lib/3rdparty/libxml2/xzlib.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libxml2/xzlib…
============================================================================== --- trunk/reactos/lib/3rdparty/libxml2/xzlib.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libxml2/xzlib.c [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -8,7 +8,7 @@ */ #define IN_LIBXML #include "libxml.h" -#ifdef HAVE_LZMA_H +#ifdef LIBXML_LZMA_ENABLED #include <string.h> #ifdef HAVE_ERRNO_H @@ -34,7 +34,9 @@ #ifdef HAVE_ZLIB_H #include <zlib.h> #endif +#ifdef HAVE_LZMA_H #include <lzma.h> +#endif #include "xzlib.h" #include <libxml/xmlmemory.h> @@ -581,6 +583,10 @@ xz_error(state, LZMA_DATA_ERROR, "compressed data error"); return -1; } + if (ret == LZMA_PROG_ERROR) { + xz_error(state, LZMA_PROG_ERROR, "compression error"); + return -1; + } } while (strm->avail_out && ret != LZMA_STREAM_END); /* update available output and crc check value */ @@ -795,4 +801,4 @@ xmlFree(state); return ret ? ret : LZMA_OK; } -#endif /* HAVE_LZMA_H */ +#endif /* LIBXML_LZMA_ENABLED */ Modified: trunk/reactos/media/doc/3rd Party Files.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/3rd%20Party%20Fi…
============================================================================== --- trunk/reactos/media/doc/3rd Party Files.txt [iso-8859-1] (original) +++ trunk/reactos/media/doc/3rd Party Files.txt [iso-8859-1] Wed Dec 2 11:36:52 2015 @@ -43,7 +43,7 @@ Website:
http://www.bzip.org
Title: LibXML -Used Version: 2.9.2 +Used Version: 2.9.3 Website:
http://xmlsoft.org
|
ftp://xmlsoft.org/libxml2/
Title: ZLib
9 years, 4 months
1
0
0
0
[akhaldi] 70233: [LIBMPG123] Update to v1.22.4.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Wed Dec 2 11:13:12 2015 New Revision: 70233 URL:
http://svn.reactos.org/svn/reactos?rev=70233&view=rev
Log: [LIBMPG123] Update to v1.22.4. Modified: trunk/reactos/lib/3rdparty/libmpg123/id3.c trunk/reactos/lib/3rdparty/libmpg123/parse.c trunk/reactos/media/doc/3rd Party Files.txt Modified: trunk/reactos/lib/3rdparty/libmpg123/id3.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libmpg123/id3…
============================================================================== --- trunk/reactos/lib/3rdparty/libmpg123/id3.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libmpg123/id3.c [iso-8859-1] Wed Dec 2 11:13:12 2015 @@ -1051,10 +1051,10 @@ for(i=0; i < n; i+=2) { unsigned long point = ((unsigned long) s[i+high]<<8) + s[i+low]; - if((point & 0xd800) == 0xd800) /* lead surrogate */ + if((point & 0xfc00) == 0xd800) /* lead surrogate */ { unsigned short second = (i+3 < l) ? (s[i+2+high]<<8) + s[i+2+low] : 0; - if((second & 0xdc00) == 0xdc00) /* good... */ + if((second & 0xfc00) == 0xdc00) /* good... */ { point = FULLPOINT(point,second); length += UTF8LEN(point); /* possibly 4 bytes */ @@ -1077,7 +1077,7 @@ for(i=0; i < n; i+=2) { unsigned long codepoint = ((unsigned long) s[i+high]<<8) + s[i+low]; - if((codepoint & 0xd800) == 0xd800) /* lead surrogate */ + if((codepoint & 0xfc00) == 0xd800) /* lead surrogate */ { unsigned short second = (s[i+2+high]<<8) + s[i+2+low]; codepoint = FULLPOINT(codepoint,second); Modified: trunk/reactos/lib/3rdparty/libmpg123/parse.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libmpg123/par…
============================================================================== --- trunk/reactos/lib/3rdparty/libmpg123/parse.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libmpg123/parse.c [iso-8859-1] Wed Dec 2 11:13:12 2015 @@ -694,7 +694,7 @@ * <0: error codes, possibly from feeder buffer (NEED_MORE) * PARSE_BAD: cannot get the framesize for some reason and shall silentry try the next possible header (if this is no free format stream after all...) */ -static int guess_freeformat_framesize(mpg123_handle *fr) +static int guess_freeformat_framesize(mpg123_handle *fr, unsigned long oldhead) { long i; int ret; @@ -714,7 +714,7 @@ if((ret=fr->rd->head_shift(fr,&head))<=0) return ret; /* No head_check needed, the mask contains all relevant bits. */ - if((head & HDR_SAMEMASK) == (fr->oldhead & HDR_SAMEMASK)) + if((head & HDR_SAMEMASK) == (oldhead & HDR_SAMEMASK)) { fr->rd->back_bytes(fr,i+1); fr->framesize = i-3; @@ -791,7 +791,7 @@ if(VERBOSE3) error("You fooled me too often. Refusing to guess free format frame size _again_."); return PARSE_BAD; } - ret = guess_freeformat_framesize(fr); + ret = guess_freeformat_framesize(fr, newhead); if(ret == PARSE_GOOD) { fr->freeformat_framesize = fr->framesize - fr->padding; Modified: trunk/reactos/media/doc/3rd Party Files.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/3rd%20Party%20Fi…
============================================================================== --- trunk/reactos/media/doc/3rd Party Files.txt [iso-8859-1] (original) +++ trunk/reactos/media/doc/3rd Party Files.txt [iso-8859-1] Wed Dec 2 11:13:12 2015 @@ -63,7 +63,7 @@ Website:
http://www.mega-nerd.com/SRC/download.html
Title: libmpg123 (used by winemp3.acm) -Used Version: 1.22.1 +Used Version: 1.22.4 Website:
http://www.mpg123.de/
Title: STLport
9 years, 4 months
1
0
0
0
[akhaldi] 70232: [WIN-ICONV] Update to git commit 8765259.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Wed Dec 2 11:08:51 2015 New Revision: 70232 URL:
http://svn.reactos.org/svn/reactos?rev=70232&view=rev
Log: [WIN-ICONV] Update to git commit 8765259. Modified: trunk/reactos/lib/3rdparty/libwin-iconv/readme.txt trunk/reactos/lib/3rdparty/libwin-iconv/win_iconv.c trunk/reactos/media/doc/3rd Party Files.txt Modified: trunk/reactos/lib/3rdparty/libwin-iconv/readme.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libwin-iconv/…
============================================================================== --- trunk/reactos/lib/3rdparty/libwin-iconv/readme.txt [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libwin-iconv/readme.txt [iso-8859-1] Wed Dec 2 11:08:51 2015 @@ -13,8 +13,8 @@ (only available when USE_LIBICONV_DLL is defined at compile time) Win32 API does not support strict encoding conversion for some codepage. -And MLang function drop or replace invalid bytes and does not return -useful error status as iconv. This implementation cannot be used for +And MLang function drops or replaces invalid bytes and does not return +useful error status as iconv does. This implementation cannot be used for encoding validation purpose. Yukihiro Nakadaira <yukihiro.nakadaira(a)gmail.com> Modified: trunk/reactos/lib/3rdparty/libwin-iconv/win_iconv.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libwin-iconv/…
============================================================================== --- trunk/reactos/lib/3rdparty/libwin-iconv/win_iconv.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/libwin-iconv/win_iconv.c [iso-8859-1] Wed Dec 2 11:08:51 2015 @@ -129,7 +129,7 @@ #if defined(USE_LIBICONV_DLL) static int libiconv_iconv_open(rec_iconv_t *cd, const char *tocode, const char *fromcode); static PVOID MyImageDirectoryEntryToData(LPVOID Base, BOOLEAN MappedAsImage, USHORT DirectoryEntry, PULONG Size); -static HMODULE find_imported_module_by_funcname(HMODULE hModule, const char *funcname); +static FARPROC find_imported_function(HMODULE hModule, const char *funcname); static HMODULE hwiniconv; #endif @@ -1093,7 +1093,7 @@ /* * Check if codepage is one those for which the lpUsedDefaultChar * parameter to WideCharToMultiByte() must be NULL. The docs in - * Platform SDK for for Windows Server 2003 R2 claims that this is the + * Platform SDK for Windows Server 2003 R2 claims that this is the * list below, while the MSDN docs for MSVS2008 claim that it is only * for 65000 (UTF-7) and 65001 (UTF-8). This time the earlier Platform * SDK seems to be correct, at least for XP. @@ -1147,7 +1147,6 @@ libiconv_iconv_open(rec_iconv_t *cd, const char *tocode, const char *fromcode) { HMODULE hlibiconv = NULL; - HMODULE hmsvcrt = NULL; char *dllname; const char *p; const char *e; @@ -1189,10 +1188,6 @@ if (hlibiconv == NULL) goto failed; - hmsvcrt = find_imported_module_by_funcname(hlibiconv, "_errno"); - if (hmsvcrt == NULL) - goto failed; - _iconv_open = (f_iconv_open)GetProcAddressA(hlibiconv, "libiconv_open"); if (_iconv_open == NULL) _iconv_open = (f_iconv_open)GetProcAddressA(hlibiconv, "iconv_open"); @@ -1202,7 +1197,7 @@ cd->iconv = (f_iconv)GetProcAddressA(hlibiconv, "libiconv"); if (cd->iconv == NULL) cd->iconv = (f_iconv)GetProcAddressA(hlibiconv, "iconv"); - cd->_errno = (f_errno)GetProcAddressA(hmsvcrt, "_errno"); + cd->_errno = (f_errno)find_imported_function(hlibiconv, "_errno"); if (_iconv_open == NULL || cd->iconv_close == NULL || cd->iconv == NULL || cd->_errno == NULL) goto failed; @@ -1217,7 +1212,6 @@ failed: if (hlibiconv != NULL) FreeLibrary(hlibiconv); - /* do not free hmsvcrt which is obtained by GetModuleHandle() */ return FALSE; } @@ -1247,12 +1241,13 @@ return (PVOID)((LPBYTE)Base + p->VirtualAddress); } -static HMODULE -find_imported_module_by_funcname(HMODULE hModule, const char *funcname) +static FARPROC +find_imported_function(HMODULE hModule, const char *funcname) { DWORD_PTR Base; ULONG Size; PIMAGE_IMPORT_DESCRIPTOR Imp; + PIMAGE_THUNK_DATA Address; /* Import Address Table */ PIMAGE_THUNK_DATA Name; /* Import Name Table */ PIMAGE_IMPORT_BY_NAME ImpName; @@ -1266,15 +1261,16 @@ return NULL; for ( ; Imp->OriginalFirstThunk != 0; ++Imp) { + Address = (PIMAGE_THUNK_DATA)(Base + Imp->FirstThunk); Name = (PIMAGE_THUNK_DATA)(Base + Imp->OriginalFirstThunk); - for ( ; Name->u1.Ordinal != 0; ++Name) + for ( ; Name->u1.Ordinal != 0; ++Name, ++Address) { if (!IMAGE_SNAP_BY_ORDINAL(Name->u1.Ordinal)) { ImpName = (PIMAGE_IMPORT_BY_NAME) (Base + (DWORD_PTR)Name->u1.AddressOfData); if (strcmp((char *)ImpName->Name, funcname) == 0) - return GetModuleHandleA((char *)(Base + Imp->Name)); + return (FARPROC)Address->u1.Function; } } } Modified: trunk/reactos/media/doc/3rd Party Files.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/3rd%20Party%20Fi…
============================================================================== --- trunk/reactos/media/doc/3rd Party Files.txt [iso-8859-1] (original) +++ trunk/reactos/media/doc/3rd Party Files.txt [iso-8859-1] Wed Dec 2 11:08:51 2015 @@ -71,8 +71,8 @@ Website:
http://stlport.sourceforge.net/
Title: win-iconv -Used Version: r44 -Website:
https://code.google.com/p/win-iconv/
+Used Version: git commit 8765259 +Website:
https://github.com/win-iconv/win-iconv
Title: libjpeg Used Version: 9a
9 years, 4 months
1
0
0
0
[akhaldi] 70230: [PSDK] Update shldisp.idl. CORE-10536
by akhaldi@svn.reactos.org
Author: akhaldi Date: Wed Dec 2 09:02:07 2015 New Revision: 70230 URL:
http://svn.reactos.org/svn/reactos?rev=70230&view=rev
Log: [PSDK] Update shldisp.idl. CORE-10536 Modified: trunk/reactos/include/psdk/shldisp.idl Modified: trunk/reactos/include/psdk/shldisp.idl URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/shldisp.idl?r…
============================================================================== --- trunk/reactos/include/psdk/shldisp.idl [iso-8859-1] (original) +++ trunk/reactos/include/psdk/shldisp.idl [iso-8859-1] Wed Dec 2 09:02:07 2015 @@ -492,6 +492,53 @@ HRESULT IsServiceRunning([in] BSTR service, [out, retval] VARIANT *running); HRESULT CanStartStopService([in] BSTR service, [out, retval] VARIANT *ret); HRESULT ShowBrowserBar([in] BSTR clsid, [in] VARIANT show, [out, retval] VARIANT *ret); +} + +[ + uuid(177160ca-bb5a-411c-841d-bd38facdeaa0), + oleautomation, + hidden, + dual +] +interface IShellDispatch3 : IShellDispatch2 +{ + HRESULT AddToRecent([in] VARIANT file, [in, optional] BSTR category); +} + +[ + uuid(efd84b2d-4bcf-4298-be25-eb542a59fbda), + oleautomation, + hidden, + dual +] +interface IShellDispatch4 : IShellDispatch3 +{ + HRESULT WindowsSecurity(); + HRESULT ToggleDesktop(); + HRESULT ExplorerPolicy([in] BSTR policy, [out, retval] VARIANT *value); + HRESULT GetSetting([in] long setting, [out,retval] VARIANT_BOOL *result); +} + +[ + uuid(866738b9-6cf2-4de8-8767-f794ebe74f4e), + oleautomation, + hidden, + dual +] +interface IShellDispatch5 : IShellDispatch4 +{ + HRESULT WindowSwitcher(); +} + +[ + uuid(286e6f1b-7113-4355-9562-96b7e9d64c54), + oleautomation, + hidden, + dual, +] +interface IShellDispatch6 : IShellDispatch5 +{ + HRESULT SearchCommand(void); } [ @@ -556,6 +603,120 @@ ssfPROGRAMFILESx86 = 0x30 } ShellSpecialFolderConstants; +/***************************************************************************** + * IShellFolderViewDual interface + */ +typedef +[ + uuid(742a99a0-c77e-11d0-a32c-00a0c91eedba) +] +enum ShellFolderViewOptions +{ + SFVVO_SHOWALLOBJECTS = 0x00000001, + SFVVO_SHOWEXTENSIONS = 0x00000002, + SFVVO_SHOWCOMPCOLOR = 0x00000008, + SFVVO_SHOWSYSFILES = 0x00000020, + SFVVO_WIN95CLASSIC = 0x00000040, + SFVVO_DOUBLECLICKINWEBVIEW = 0x00000080, + SFVVO_DESKTOPHTML = 0x00000200 +} ShellFolderViewOptions; + +[ + uuid(e7a1af80-4d96-11cf-960c-0080c7f4ee85), + oleautomation, + hidden, + dual +] +interface IShellFolderViewDual : IDispatch +{ + [propget] + HRESULT Application([out, retval] IDispatch **app); + + [propget] + HRESULT Parent([out, retval] IDispatch **parent); + + [propget] + HRESULT Folder([out, retval] Folder **folder); + + HRESULT SelectedItems([out, retval] FolderItems **items); + + [propget] + HRESULT FocusedItem([out, retval] FolderItem **item); + + HRESULT SelectItem([in] VARIANT *item, [in] int flags); + + HRESULT PopupItemMenu([in] FolderItem *item, + [in, optional] VARIANT vx, + [in, optional] VARIANT vy, + [out, retval] BSTR *command); + [propget] + HRESULT Script([out, retval] IDispatch **script); + + [propget] + HRESULT ViewOptions([out, retval] long *options); +} + +[ + uuid(31c147b6-0ade-4a3c-b514-ddf932ef6d17), + oleautomation, + hidden, + dual +] +interface IShellFolderViewDual2 : IShellFolderViewDual +{ + [propget] + HRESULT CurrentViewMode([out, retval] UINT *mode); + + [propput] + HRESULT CurrentViewMode([in] UINT mode); + + HRESULT SelectItemRelative([in] int relative); +} + +[ + uuid(29ec8e6c-46d3-411f-baaa-611a6c9cac66), + oleautomation, + hidden, + dual +] +interface IShellFolderViewDual3 : IShellFolderViewDual2 +{ + [propget] + HRESULT GroupBy([out, retval] BSTR *groupby); + + [propput] + HRESULT GroupBy([in] BSTR groupby); + + [propget] + HRESULT FolderFlags([out, retval] DWORD *flags); + + [propput] + HRESULT FolderFlags([in] DWORD flags); + + [propget] + HRESULT SortColumns([out, retval] BSTR *sortcolumns); + + [propput] + HRESULT SortColumns([in] BSTR sortcolumns); + + [propput] + HRESULT IconSize([in] int icon_size); + + [propget] + HRESULT IconSize([out, retval] int *icon_size); + + HRESULT FilterView([in, unique] BSTR filter_text); +} + +[ + uuid(62112aa1-ebe4-11cf-a5fb-0020afe7292d) +] +coclass ShellFolderView +{ + [default] interface IShellFolderViewDual3; + [default, source] dispinterface DShellFolderViewEvents; +} + } /* library Shell32 */ /*****************************************************************************
9 years, 4 months
1
0
0
0
[gedmurphy] 70229: I forgot to put the minimalist headers back
by gedmurphy@svn.reactos.org
Author: gedmurphy Date: Tue Dec 1 21:33:32 2015 New Revision: 70229 URL:
http://svn.reactos.org/svn/reactos?rev=70229&view=rev
Log: I forgot to put the minimalist headers back Modified: trunk/reactos/base/applications/charmap/precomp.h Modified: trunk/reactos/base/applications/charmap/precomp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/charmap/…
============================================================================== --- trunk/reactos/base/applications/charmap/precomp.h [iso-8859-1] (original) +++ trunk/reactos/base/applications/charmap/precomp.h [iso-8859-1] Tue Dec 1 21:33:32 2015 @@ -1,7 +1,12 @@ #ifndef __CHARMAP_PRECOMP_H #define __CHARMAP_PRECOMP_H -#include <windows.h> +#include <stdarg.h> +#include <windef.h> +#include <winbase.h> +#include <winuser.h> +#include <wingdi.h> + #include "resource.h"
9 years, 4 months
1
0
0
0
[gedmurphy] 70228: [CHARMAP] - Hackfix the existing charmap for the 0.4 release (just in case I don't get time to finish the new one). This fixes showing invalid glyphs and also removes the advance...
by gedmurphy@svn.reactos.org
Author: gedmurphy Date: Tue Dec 1 21:29:12 2015 New Revision: 70228 URL:
http://svn.reactos.org/svn/reactos?rev=70228&view=rev
Log: [CHARMAP] - Hackfix the existing charmap for the 0.4 release (just in case I don't get time to finish the new one). This fixes showing invalid glyphs and also removes the advanced section as it was unimplemented. Modified: trunk/reactos/base/applications/charmap/charmap.c trunk/reactos/base/applications/charmap/map.c trunk/reactos/base/applications/charmap/precomp.h Modified: trunk/reactos/base/applications/charmap/charmap.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/charmap/…
============================================================================== --- trunk/reactos/base/applications/charmap/charmap.c [iso-8859-1] (original) +++ trunk/reactos/base/applications/charmap/charmap.c [iso-8859-1] Tue Dec 1 21:29:12 2015 @@ -12,6 +12,8 @@ #include <commctrl.h> #include <richedit.h> +#define REMOVE_ADVANCED + #define ID_ABOUT 0x1 HINSTANCE hInstance; @@ -237,7 +239,7 @@ SendMessage(hText, WM_CHAR, (WPARAM)ch, 0); } - +#ifndef REMOVE_ADVANCED static void UpdateSettings(HWND hDlg) @@ -245,20 +247,24 @@ if (hDlg == hCharmapDlg) { Settings.IsAdvancedView = - SendDlgItemMessage(hDlg, IDC_CHECK_ADVANCED, BM_GETCHECK, 0, 0); + SendDlgItemMessage(hDlg, IDC_CHECK_ADVANCED, BM_GETCHECK, 0, 0); + } if (hDlg == hAdvancedDlg) { } } +#endif static void ChangeView(HWND hWnd) { RECT rcCharmap; +#ifndef REMOVE_ADVANCED RECT rcAdvanced; +#endif RECT rcPanelExt; RECT rcPanelInt; RECT rcStatus; @@ -268,7 +274,9 @@ UINT DeskTopWidth, DeskTopHeight; GetClientRect(hCharmapDlg, &rcCharmap); +#ifndef REMOVE_ADVANCED GetClientRect(hAdvancedDlg, &rcAdvanced); +#endif GetWindowRect(hWnd, &rcPanelExt); GetClientRect(hWnd, &rcPanelInt); GetClientRect(hStatusWnd, &rcStatus); @@ -280,19 +288,19 @@ DeY = (rcPanelExt.bottom - rcPanelExt.top) - rcPanelInt.bottom; MoveWindow(hCharmapDlg, 0, 0, rcCharmap.right, rcCharmap.bottom, FALSE); +#ifndef REMOVE_ADVANCED MoveWindow(hAdvancedDlg, 0, rcCharmap.bottom, rcAdvanced.right, rcAdvanced.bottom, FALSE); - ShowWindow(hAdvancedDlg, (Settings.IsAdvancedView) ? SW_SHOW : SW_HIDE); - +#endif xPos = rcPanelExt.left; yPos = rcPanelExt.top; Width = DeX + rcCharmap.right; Height = DeY + rcCharmap.bottom + rcStatus.bottom; - +#ifndef REMOVE_ADVANCED if (Settings.IsAdvancedView) Height += rcAdvanced.bottom; - +#endif if ((xPos + Width) > DeskTopWidth) xPos += DeskTopWidth - (xPos + Width); @@ -318,6 +326,9 @@ case WM_INITDIALOG: { DWORD evMask; +#ifdef REMOVE_ADVANCED + HWND hAdv; +#endif FillFontStyleComboList(GetDlgItem(hDlg, IDC_FONTCOMBO)); @@ -328,7 +339,10 @@ evMask = SendDlgItemMessage(hDlg, IDC_TEXTBOX, EM_GETEVENTMASK, 0, 0); evMask |= ENM_CHANGE; SendDlgItemMessage(hDlg, IDC_TEXTBOX, EM_SETEVENTMASK, 0, (LPARAM)evMask); - +#ifdef REMOVE_ADVANCED + hAdv = GetDlgItem(hDlg, IDC_CHECK_ADVANCED); + ShowWindow(hAdv, SW_HIDE); +#endif return TRUE; } @@ -370,11 +384,12 @@ case IDC_COPY: CopyCharacters(hDlg); break; - +#ifndef REMOVE_ADVANCED case IDC_CHECK_ADVANCED: UpdateSettings(hDlg); ChangeView(GetParent(hDlg)); break; +#endif } } break; @@ -385,7 +400,7 @@ return FALSE; } - +#ifndef REMOVE_ADVANCED static INT_PTR CALLBACK @@ -405,7 +420,7 @@ return FALSE; } - +#endif static int OnCreate(HWND hWnd, WPARAM wParam, LPARAM lParam) { @@ -416,12 +431,12 @@ MAKEINTRESOURCE(IDD_CHARMAP), hWnd, CharMapDlgProc); - +#ifndef REMOVE_ADVANCED hAdvancedDlg = CreateDialog(hInstance, - MAKEINTRESOURCE(IDD_ADVANCED), - hWnd, - AdvancedDlgProc); - + MAKEINTRESOURCE(IDD_ADVANCED), + hWnd, + AdvancedDlgProc); +#endif hStatusWnd = CreateWindow(STATUSCLASSNAME, NULL, WS_CHILD | WS_VISIBLE, Modified: trunk/reactos/base/applications/charmap/map.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/charmap/…
============================================================================== --- trunk/reactos/base/applications/charmap/map.c [iso-8859-1] (original) +++ trunk/reactos/base/applications/charmap/map.c [iso-8859-1] Tue Dec 1 21:29:12 2015 @@ -16,14 +16,6 @@ #define MAX_ROWS (0xFFFF / XCELLS) + 1 - YCELLS -static -VOID -TagFontToCell(PCELL pCell, - WCHAR ch) -{ - pCell->ch = ch; -} - static VOID @@ -107,33 +99,47 @@ INT x, y; RECT rc; PCELL Cell; + INT i, added; hOldFont = SelectObject(ps->hdc, infoPtr->hFont); - for (y = 0; y < YCELLS; y++) - for (x = 0; x < XCELLS; x++) - { + i = XCELLS * infoPtr->iYStart; + + added = 0; + x = y = 0; + while ((y <= YCELLS) && (x <= XCELLS)) + { + ch = (WCHAR)infoPtr->ValidGlyphs[i]; + Cell = &infoPtr->Cells[y][x]; - if (!IntersectRect(&rc, - &ps->rcPaint, - &Cell->CellExt)) - { - continue; - } - - ch = (WCHAR)((XCELLS * (y + infoPtr->iYStart)) + x); - - TagFontToCell(Cell, ch); - - DrawTextW(ps->hdc, - &ch, - 1, - &Cell->CellInt, - DT_CENTER | DT_VCENTER | DT_SINGLELINE); - } - + if (IntersectRect(&rc, + &ps->rcPaint, + &Cell->CellExt)) + { + Cell->ch = ch; + + DrawTextW(ps->hdc, + &ch, + 1, + &Cell->CellInt, + DT_CENTER | DT_VCENTER | DT_SINGLELINE); + + added++; + } + + i++; + ch = (WCHAR)i; + + // move to the next cell + x++; + if (x > XCELLS - 1) + { + x = 0; + y++; + } + } SelectObject(ps->hdc, hOldFont); } @@ -213,6 +219,9 @@ LPWSTR lpFontName) { HDC hdc; + WCHAR ch[MAX_GLYPHS]; + WORD out[MAX_GLYPHS]; + DWORD i, j, Rows; /* Destroy Zoom window, since it was created with older font */ DestroyWindow(infoPtr->hLrgWnd); @@ -225,9 +234,7 @@ sizeof(LOGFONTW)); hdc = GetDC(infoPtr->hMapWnd); - infoPtr->CurrentFont.lfHeight = GetDeviceCaps(hdc, - LOGPIXELSY) / 5; - ReleaseDC(infoPtr->hMapWnd, hdc); + infoPtr->CurrentFont.lfHeight = GetDeviceCaps(hdc, LOGPIXELSY) / 5; infoPtr->CurrentFont.lfCharSet = DEFAULT_CHARSET; wcsncpy(infoPtr->CurrentFont.lfFaceName, @@ -246,6 +253,39 @@ { CreateLargeCell(infoPtr); } + + // Get all the valid glyphs in this font + + SelectObject(hdc, infoPtr->hFont); + + for (i = 0; i < MAX_GLYPHS; i++) + ch[i] = (WCHAR)i; + + if (GetGlyphIndicesW(hdc, + ch, + MAX_GLYPHS, + out, + GGI_MARK_NONEXISTING_GLYPHS) != GDI_ERROR) + { + j = 0; + for (i = 0; i < MAX_GLYPHS; i++) + { + if (out[i] != 0xffff) + { + infoPtr->ValidGlyphs[j] = ch[i]; + j++; + } + } + infoPtr->NumValidGlyphs = j; + } + + ReleaseDC(infoPtr->hMapWnd, hdc); + + Rows = infoPtr->NumValidGlyphs / XCELLS; + if (infoPtr->NumValidGlyphs % XCELLS) + Rows += 1; + + SetScrollRange(infoPtr->hMapWnd, SB_VERT, 0, Rows - YCELLS, FALSE); } @@ -379,8 +419,7 @@ SetGrid(infoPtr); - SetScrollRange(hwnd, SB_VERT, 0, MAX_ROWS, FALSE); - SetScrollPos(hwnd, SB_VERT, 0, TRUE); + SetScrollPos(infoPtr->hParent, SB_VERT, 0, TRUE); Ret = TRUE; } @@ -424,8 +463,7 @@ break; } - infoPtr->iYStart = max(0, - min(infoPtr->iYStart, MAX_ROWS)); + infoPtr->iYStart = max(0, min(infoPtr->iYStart, MAX_ROWS)); iYDiff = iOldYStart - infoPtr->iYStart; if (iYDiff) Modified: trunk/reactos/base/applications/charmap/precomp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/charmap/…
============================================================================== --- trunk/reactos/base/applications/charmap/precomp.h [iso-8859-1] (original) +++ trunk/reactos/base/applications/charmap/precomp.h [iso-8859-1] Tue Dec 1 21:29:12 2015 @@ -1,15 +1,13 @@ #ifndef __CHARMAP_PRECOMP_H #define __CHARMAP_PRECOMP_H -#include <stdarg.h> -#include <windef.h> -#include <winbase.h> -#include <winuser.h> -#include <wingdi.h> +#include <windows.h> #include "resource.h" #define SIZEOF(_v) (sizeof(_v) / sizeof(*_v)) + +#define MAX_GLYPHS 65536 #define XCELLS 20 #define YCELLS 10 @@ -44,6 +42,10 @@ HFONT hFont; LOGFONTW CurrentFont; INT iYStart; + + USHORT ValidGlyphs[MAX_GLYPHS]; + USHORT NumValidGlyphs; + } MAP, *PMAP; typedef struct {
9 years, 4 months
1
0
0
0
[akhaldi] 70227: [PSDK] Add missing EBO_NOBORDER and EBO_NO.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Tue Dec 1 18:09:05 2015 New Revision: 70227 URL:
http://svn.reactos.org/svn/reactos?rev=70227&view=rev
Log: [PSDK] Add missing EBO_NOBORDER and EBO_NO. Modified: trunk/reactos/include/psdk/shobjidl.idl Modified: trunk/reactos/include/psdk/shobjidl.idl URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/shobjidl.idl?…
============================================================================== --- trunk/reactos/include/psdk/shobjidl.idl [iso-8859-1] (original) +++ trunk/reactos/include/psdk/shobjidl.idl [iso-8859-1] Tue Dec 1 18:09:05 2015 @@ -2733,7 +2733,9 @@ EBO_ALWAYSNAVIGATE = 0x04, EBO_NOTRAVELLOG = 0x08, EBO_NOWRAPPERWINDOW = 0x10, - EBO_HTMLSHAREPOINTVIEW = 0x20 + EBO_HTMLSHAREPOINTVIEW = 0x20, + EBO_NOBORDER = 0x40, + EBO_NOPERSISTVIEWSTATE = 0x80, } EXPLORER_BROWSER_OPTIONS; cpp_quote("#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser")
9 years, 4 months
1
0
0
0
← Newer
1
...
22
23
24
25
26
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Results per page:
10
25
50
100
200