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
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
August 2009
----- 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
21 participants
654 discussions
Start a n
N
ew thread
[cwittich] 42816: revert 41654
by cwittich@svn.reactos.org
Author: cwittich Date: Thu Aug 20 20:16:35 2009 New Revision: 42816 URL:
http://svn.reactos.org/svn/reactos?rev=42816&view=rev
Log: revert 41654 Modified: trunk/reactos/dll/win32/advapi32/crypt/crypt.c Modified: trunk/reactos/dll/win32/advapi32/crypt/crypt.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/crypt/c…
============================================================================== --- trunk/reactos/dll/win32/advapi32/crypt/crypt.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advapi32/crypt/crypt.c [iso-8859-1] Thu Aug 20 20:16:35 2009 @@ -1192,9 +1192,6 @@ TRACE("(%ld, %p, %08ld, %p, %p, %p)\n", dwIndex, pdwReserved, dwFlags, pdwProvType, pszProvName, pcbProvName); - if (*pcbProvName > INT_MAX) - *pcbProvName = INT_MAX; - if(!CryptEnumProvidersW(dwIndex, pdwReserved, dwFlags, pdwProvType, NULL, &bufsize)) return FALSE; if ( pszProvName && !(str = CRYPT_Alloc(bufsize)) ) @@ -1317,9 +1314,6 @@ TRACE("(%ld, %p, %08ld, %p, %p, %p)\n", dwIndex, pdwReserved, dwFlags, pdwProvType, pszTypeName, pcbTypeName); - if (*pcbTypeName > INT_MAX) - *pcbTypeName = INT_MAX; - if(!CryptEnumProviderTypesW(dwIndex, pdwReserved, dwFlags, pdwProvType, NULL, &bufsize)) return FALSE; if ( pszTypeName && !(str = CRYPT_Alloc(bufsize)) ) @@ -1518,9 +1512,6 @@ BOOL ret = FALSE; TRACE("(%d, %p, %08x, %p, %p)\n", dwProvType, pdwReserved, dwFlags, pszProvName, pcbProvName); - - if (*pcbProvName > INT_MAX) - *pcbProvName = INT_MAX; CryptGetDefaultProviderW(dwProvType, pdwReserved, dwFlags, NULL, &bufsize); if ( pszProvName && !(str = CRYPT_Alloc(bufsize)) )
15 years, 4 months
1
0
0
0
[cwittich] 42815: sync mlang winetest with wine 1.1.27
by cwittich@svn.reactos.org
Author: cwittich Date: Thu Aug 20 20:11:21 2009 New Revision: 42815 URL:
http://svn.reactos.org/svn/reactos?rev=42815&view=rev
Log: sync mlang winetest with wine 1.1.27 Modified: trunk/rostests/winetests/mlang/mlang.c Modified: trunk/rostests/winetests/mlang/mlang.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/mlang/mlang.c?r…
============================================================================== --- trunk/rostests/winetests/mlang/mlang.c [iso-8859-1] (original) +++ trunk/rostests/winetests/mlang/mlang.c [iso-8859-1] Thu Aug 20 20:11:21 2009 @@ -2,6 +2,7 @@ * Unit test suite for MLANG APIs. * * Copyright 2004 Dmitry Timoshkov + * Copyright 2009 Detlef Riekenberg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,6 +22,7 @@ #define COBJMACROS #include <stdarg.h> +#include <stdio.h> #include "windef.h" #include "winbase.h" @@ -48,6 +50,184 @@ LPINT, LPWSTR, LPINT); static HRESULT (WINAPI *pConvertINetUnicodeToMultiByte)(LPDWORD, DWORD, LPCWSTR, LPINT, LPSTR, LPINT); +static HRESULT (WINAPI *pRfc1766ToLcidA)(LCID *, LPCSTR); +static HRESULT (WINAPI *pLcidToRfc1766A)(LCID, LPSTR, INT); + +typedef struct lcid_tag_table { + LPCSTR rfc1766; + LCID lcid; + HRESULT hr; + LCID broken_lcid; + LPCSTR broken_rfc; +} lcid_table_entry; + +/* en, ar and zh use SUBLANG_NEUTRAL for the rfc1766 name without the country + all others suppress the country with SUBLANG_DEFAULT. + For 3 letter language codes, the rfc1766 is too small for the country */ + +static const lcid_table_entry lcid_table[] = { + {"e", -1, E_FAIL}, + {"", -1, E_FAIL}, + {"-", -1, E_FAIL}, + {"e-", -1, E_FAIL}, + + {"ar", 1, S_OK}, + {"zh", 4, S_OK}, + + {"de", 0x0407, S_OK}, + {"de-ch", 0x0807, S_OK}, + {"de-at", 0x0c07, S_OK}, + {"de-lu", 0x1007, S_OK}, + {"de-li", 0x1407, S_OK}, + + {"en", 9, S_OK}, + {"en-gb", 0x809, S_OK}, + {"en-GB", 0x809, S_OK}, + {"EN-GB", 0x809, S_OK}, + {"en-US", 0x409, S_OK}, + {"en-us", 0x409, S_OK}, + + {"fr", 0x040c, S_OK}, + {"fr-be", 0x080c, S_OK}, + {"fr-ca", 0x0c0c, S_OK}, + {"fr-ch", 0x100c, S_OK}, + {"fr-lu", 0x140c, S_OK}, + {"fr-mc", 0x180c, S_OK, 0x040c, "fr"}, + + {"it", 0x0410, S_OK}, + {"it-ch", 0x0810, S_OK}, + + {"nl", 0x0413, S_OK}, + {"nl-be", 0x0813, S_OK}, + {"pl", 0x0415, S_OK}, + {"ru", 0x0419, S_OK}, + + {"kok", 0x0457, S_OK, 0x0412, "x-kok"} + +}; + +#define TODO_NAME 1 + +typedef struct info_table_tag { + LCID lcid; + LANGID lang; + DWORD todo; + LPCSTR rfc1766; + LPCWSTR localename; + LPCWSTR broken_name; +} info_table_entry; + +static const WCHAR de_en[] = {'E','n','g','l','i','s','c','h',0}; +static const WCHAR de_enca[] = {'E','n','g','l','i','s','c','h',' ', + '(','K','a','n','a','d','a',')',0}; +static const WCHAR de_engb[] = {'E','n','g','l','i','s','c','h',' ', + '(','G','r','o',0xDF,'b','r','i','t','a','n','n','i','e','n',')',0}; +static const WCHAR de_engb2[] ={'E','n','g','l','i','s','c','h',' ', + '(','V','e','r','e','i','n','i','g','t','e','s',' ', + 'K',0xF6,'n','i','g','r','e','i','c',0}; +static const WCHAR de_enus[] = {'E','n','g','l','i','s','c','h',' ', + '(','U','S','A',')',0}; +static const WCHAR de_de[] = {'D','e','u','t','s','c','h',' ', + '(','D','e','u','t','s','c','h','l','a','n','d',')',0}; +static const WCHAR de_deat[] = {'D','e','u','t','s','c','h',' ', + '(',0xD6,'s','t','e','r','r','e','i','c','h',')',0}; +static const WCHAR de_dech[] = {'D','e','u','t','s','c','h',' ', + '(','S','c','h','w','e','i','z',')',0}; + +static const WCHAR en_en[] = {'E','n','g','l','i','s','h',0}; +static const WCHAR en_enca[] = {'E','n','g','l','i','s','h',' ', + '(','C','a','n','a','d','a',')',0}; +static const WCHAR en_engb[] = {'E','n','g','l','i','s','h',' ', + '(','U','n','i','t','e','d',' ','K','i','n','g','d','o','m',')',0}; +static const WCHAR en_enus[] = {'E','n','g','l','i','s','h',' ', + '(','U','n','i','t','e','d',' ','S','t','a','t','e','s',')',0}; +static const WCHAR en_de[] = {'G','e','r','m','a','n',' ', + '(','G','e','r','m','a','n','y',')',0}; +static const WCHAR en_deat[] = {'G','e','r','m','a','n',' ', + '(','A','u','s','t','r','i','a',')',0}; +static const WCHAR en_dech[] = {'G','e','r','m','a','n',' ', + '(','S','w','i','t','z','e','r','l','a','n','d',')',0}; + +static const WCHAR fr_en[] = {'A','n','g','l','a','i','s',0}; +static const WCHAR fr_enca[] = {'A','n','g','l','a','i','s',' ', + '(','C','a','n','a','d','a',')',0}; +static const WCHAR fr_engb[] = {'A','n','g','l','a','i','s',' ', + '(','R','o','y','a','u','m','e','-','U','n','i',')',0}; +static const WCHAR fr_enus[] = {'A','n','g','l','a','i','s',' ', + '(',0xC9, 't','a','t','s','-','U','n','i','s',')',0}; +static const WCHAR fr_enus2[] ={'A','n','g','l','a','i','s',' ', + '(','U','.','S','.',')',0}; +static const WCHAR fr_de[] = {'A','l','l','e','m','a','n','d',' ', + '(','A','l','l','e','m','a','g','n','e',')',0}; +static const WCHAR fr_de2[] = {'A','l','l','e','m','a','n','d',' ', + '(','S','t','a','n','d','a','r','d',')',0}; +static const WCHAR fr_deat[] = {'A','l','l','e','m','a','n','d',' ', + '(','A','u','t','r','i','c','h','e',')',0}; +static const WCHAR fr_dech[] = {'A','l','l','e','m','a','n','d',' ', + '(','S','u','i','s','s','e',')',0}; + +static const info_table_entry info_table[] = { + {MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), + 0, "en", en_en}, + {MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT), MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), + 0, "en-us", en_enus}, + {MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_UK), MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), + 0, "en-gb", en_engb}, + {MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), + 0, "en-us", en_enus}, + {MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_CAN), MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), + 0, "en-ca", en_enca}, + + {MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), + 0, "de", en_de}, + {MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN), MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), + 0, "de", en_de}, + {MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN_SWISS), MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), + 0, "de-ch", en_dech}, + {MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN_AUSTRIAN), MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), + 0, "de-at", en_deat}, + + {MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), + TODO_NAME, "en", de_en}, + {MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT), MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), + TODO_NAME, "en-us", de_enus}, + {MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_UK), MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), + TODO_NAME, "en-gb", de_engb, de_engb2}, + {MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), + TODO_NAME, "en-us", de_enus}, + {MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_CAN), MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), + TODO_NAME, "en-ca", de_enca}, + + {MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), + TODO_NAME, "de", de_de}, + {MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN), MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), + TODO_NAME, "de",de_de}, + {MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN_SWISS), MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), + TODO_NAME, "de-ch", de_dech}, + {MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN_AUSTRIAN), MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), + TODO_NAME, "de-at", de_deat}, + + {MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), + TODO_NAME, "en", fr_en}, + {MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT), MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), + TODO_NAME, "en-us", fr_enus, fr_enus2}, + {MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_UK), MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), + TODO_NAME, "en-gb", fr_engb}, + {MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), + TODO_NAME, "en-us", fr_enus, fr_enus2}, + {MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_CAN), MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), + TODO_NAME, "en-ca", fr_enca}, + + {MAKELANGID(LANG_GERMAN, SUBLANG_DEFAULT), MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), + TODO_NAME, "de", fr_de, fr_de2}, + {MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN), MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), + TODO_NAME, "de", fr_de, fr_de2}, + {MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN_SWISS), MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), + TODO_NAME, "de-ch", fr_dech}, + {MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN_AUSTRIAN), MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), + TODO_NAME, "de-at", fr_deat} + +}; static BOOL init_function_ptrs(void) { @@ -62,6 +242,8 @@ pConvertINetMultiByteToUnicode = (void *)GetProcAddress(hMlang, "ConvertINetMultiByteToUnicode"); pConvertINetUnicodeToMultiByte = (void *)GetProcAddress(hMlang, "ConvertINetUnicodeToMultiByte"); + pRfc1766ToLcidA = (void *)GetProcAddress(hMlang, "Rfc1766ToLcidA"); + pLcidToRfc1766A = (void *)GetProcAddress(hMlang, "LcidToRfc1766A"); pGetCPInfoExA = (void *)GetProcAddress(GetModuleHandleA("kernel32.dll"), "GetCPInfoExA"); @@ -77,6 +259,66 @@ WideCharToMultiByte(CP_ACP, 0, (szString2), -1, string2, 256, NULL, NULL); \ ok(0, (format), string1, string2); \ } + +/* lstrcmpW is not supported on Win9x! */ +static int mylstrcmpW(const WCHAR* str1, const WCHAR* str2) +{ + if (!str2) return 1; + while (*str1 && *str1==*str2) { + str1++; + str2++; + } + return *str1-*str2; +} + +/* lstrcpyW is not supported on Win95 */ +static void mylstrcpyW(WCHAR* str1, const WCHAR* str2) +{ + while (str2 && *str2) { + *str1 = *str2; + str1++; + str2++; + } + *str1 = '\0'; +} + +#define DEBUGSTR_W_MAXLEN 64 + +static CHAR * debugstr_w(const WCHAR * strW) +{ + static CHAR buffers[DEBUGSTR_W_MAXLEN * 2]; + static DWORD pos = 0; + CHAR * strA; + DWORD len = DEBUGSTR_W_MAXLEN - 4; + + strA = &buffers[pos]; + + *strA++ = 'L'; + *strA++ = '"'; + + while (*strW && (len > 4)) { + if ((*strW < ' ') || (*strW > 126)) { + sprintf(strA, "\\%04x", *strW); + strA +=5; + len -=5; + } + else + { + *strA++ = *strW; + len--; + } + strW++; + } + *strA++ = '"'; + *strA = '\0'; + + strA = &buffers[pos]; + pos += DEBUGSTR_W_MAXLEN; + if (pos >= sizeof(buffers)) pos = 0; + + return strA; + +} static void test_multibyte_to_unicode_translations(IMultiLanguage2 *iML2) { @@ -382,7 +624,8 @@ if (TranslateCharsetInfo((DWORD *)(INT_PTR)cpinfo[i].uiFamilyCodePage, &csi, TCI_SRCCODEPAGE)) ok(cpinfo[i].bGDICharset == csi.ciCharset, "%d != %d\n", cpinfo[i].bGDICharset, csi.ciCharset); else - trace("TranslateCharsetInfo failed for cp %u\n", cpinfo[i].uiFamilyCodePage); + if (winetest_debug > 1) + trace("TranslateCharsetInfo failed for cp %u\n", cpinfo[i].uiFamilyCodePage); #ifdef DUMP_CP_INFO trace("%u: codepage %u family %u\n", i, cpinfo[i].uiCodePage, cpinfo[i].uiFamilyCodePage); @@ -410,7 +653,8 @@ } } else - trace("IsValidCodePage failed for cp %u\n", cpinfo[i].uiCodePage); + if (winetest_debug > 1) + trace("IsValidCodePage failed for cp %u\n", cpinfo[i].uiCodePage); if (memcmp(cpinfo[i].wszWebCharset,feffW,sizeof(WCHAR)*11)==0) skip("Legacy windows bug returning invalid charset of unicodeFEFF\n"); @@ -832,36 +1076,37 @@ static void test_GetLcidFromRfc1766(IMultiLanguage2 *iML2) { + WCHAR rfc1766W[MAX_RFC1766_NAME + 1]; LCID lcid; HRESULT ret; - - static WCHAR e[] = { 'e',0 }; + DWORD i; + static WCHAR en[] = { 'e','n',0 }; - static WCHAR empty[] = { 0 }; - static WCHAR dash[] = { '-',0 }; - static WCHAR e_dash[] = { 'e','-',0 }; - static WCHAR en_gb[] = { 'e','n','-','g','b',0 }; - static WCHAR en_us[] = { 'e','n','-','u','s',0 }; static WCHAR en_them[] = { 'e','n','-','t','h','e','m',0 }; static WCHAR english[] = { 'e','n','g','l','i','s','h',0 }; + + for(i = 0; i < sizeof(lcid_table) / sizeof(lcid_table[0]); i++) { + lcid = -1; + MultiByteToWideChar(CP_ACP, 0, lcid_table[i].rfc1766, -1, rfc1766W, MAX_RFC1766_NAME); + ret = IMultiLanguage2_GetLcidFromRfc1766(iML2, &lcid, rfc1766W); + + /* IE <6.0 guess 0x412 (ko) from "kok" */ + ok((ret == lcid_table[i].hr) || + broken(lcid_table[i].broken_lcid && (ret == S_FALSE)), + "#%02d: HRESULT 0x%x (expected 0x%x)\n", i, ret, lcid_table[i].hr); + + ok((lcid == lcid_table[i].lcid) || + broken(lcid == lcid_table[i].broken_lcid), /* IE <6.0 */ + "#%02d: got LCID 0x%x (expected 0x%x)\n", i, lcid, lcid_table[i].lcid); + } + + ret = IMultiLanguage2_GetLcidFromRfc1766(iML2, NULL, en); ok(ret == E_INVALIDARG, "GetLcidFromRfc1766 returned: %08x\n", ret); ret = IMultiLanguage2_GetLcidFromRfc1766(iML2, &lcid, NULL); ok(ret == E_INVALIDARG, "GetLcidFromRfc1766 returned: %08x\n", ret); - - ret = IMultiLanguage2_GetLcidFromRfc1766(iML2, &lcid, e); - ok(ret == E_FAIL, "GetLcidFromRfc1766 returned: %08x\n", ret); - - ret = IMultiLanguage2_GetLcidFromRfc1766(iML2, &lcid, empty); - ok(ret == E_FAIL, "GetLcidFromRfc1766 returned: %08x\n", ret); - - ret = IMultiLanguage2_GetLcidFromRfc1766(iML2, &lcid, dash); - ok(ret == E_FAIL, "GetLcidFromRfc1766 returned: %08x\n", ret); - - ret = IMultiLanguage2_GetLcidFromRfc1766(iML2, &lcid, e_dash); - ok(ret == E_FAIL, "GetLcidFromRfc1766 returned: %08x\n", ret); ret = IMultiLanguage2_GetLcidFromRfc1766(iML2, &lcid, en_them); ok((ret == E_FAIL || ret == S_FALSE), "GetLcidFromRfc1766 returned: %08x\n", ret); @@ -887,44 +1132,194 @@ ok_w2("Expected \"%s\", got \"%s\"n", en, rfcstr); } - lcid = 0; - - ret = IMultiLanguage2_GetLcidFromRfc1766(iML2, &lcid, en); - ok(ret == S_OK, "GetLcidFromRfc1766 returned: %08x\n", ret); - ok(lcid == 9, "got wrong lcid: %04x\n", lcid); - - ret = IMultiLanguage2_GetLcidFromRfc1766(iML2, &lcid, en_gb); - ok(ret == S_OK, "GetLcidFromRfc1766 returned: %08x\n", ret); - ok(lcid == 0x809, "got wrong lcid: %04x\n", lcid); - - ret = IMultiLanguage2_GetLcidFromRfc1766(iML2, &lcid, en_us); - ok(ret == S_OK, "GetLcidFromRfc1766 returned: %08x\n", ret); - ok(lcid == 0x409, "got wrong lcid: %04x\n", lcid); +} + +static void test_Rfc1766ToLcid(void) +{ + LCID lcid; + HRESULT ret; + DWORD i; + + for(i = 0; i < sizeof(lcid_table) / sizeof(lcid_table[0]); i++) { + lcid = -1; + ret = pRfc1766ToLcidA(&lcid, lcid_table[i].rfc1766); + + /* IE <6.0 guess 0x412 (ko) from "kok" */ + ok( (ret == lcid_table[i].hr) || + broken(lcid_table[i].broken_lcid && (ret == S_FALSE)), + "#%02d: HRESULT 0x%x (expected 0x%x)\n", i, ret, lcid_table[i].hr); + + ok( (lcid == lcid_table[i].lcid) || + broken(lcid == lcid_table[i].broken_lcid), /* IE <6.0 */ + "#%02d: got LCID 0x%x (expected 0x%x)\n", i, lcid, lcid_table[i].lcid); + } + + ret = pRfc1766ToLcidA(&lcid, NULL); + ok(ret == E_INVALIDARG, "got 0x%08x (expected E_INVALIDARG)\n", ret); + + ret = pRfc1766ToLcidA(NULL, "en"); + ok(ret == E_INVALIDARG, "got 0x%08x (expected E_INVALIDARG)\n", ret); +} + +static void test_GetNumberOfCodePageInfo(IMultiLanguage2 *iML2) +{ + HRESULT hr; + UINT value; + + value = 0xdeadbeef; + hr = IMultiLanguage2_GetNumberOfCodePageInfo(iML2, &value); + ok( (hr == S_OK) && value, + "got 0x%x with %d (expected S_OK with '!= 0')\n", hr, value); + + hr = IMultiLanguage2_GetNumberOfCodePageInfo(iML2, NULL); + ok(hr == E_INVALIDARG, "got 0x%x (expected E_INVALIDARG)\n", hr); + } static void test_GetRfc1766FromLcid(IMultiLanguage2 *iML2) { + CHAR expected[MAX_RFC1766_NAME]; + CHAR buffer[MAX_RFC1766_NAME + 1]; + DWORD i; HRESULT hr; BSTR rfcstr; - LCID lcid; - - static WCHAR kok[] = {'k','o','k',0}; - - hr = IMultiLanguage2_GetLcidFromRfc1766(iML2, &lcid, kok); - /* - * S_FALSE happens when 'kok' instead matches to a different Rfc1766 name - * for example 'ko' so it is not a failure but does not give us what - * we are looking for - */ - if (hr != S_FALSE) - { - ok(hr == S_OK, "Expected S_OK, got %08x\n", hr); - - hr = IMultiLanguage2_GetRfc1766FromLcid(iML2, lcid, &rfcstr); - ok(hr == S_OK, "Expected S_OK, got %08x\n", hr); - ok_w2("Expected \"%s\", got \"%s\"n", kok, rfcstr); + + for(i = 0; i < sizeof(lcid_table) / sizeof(lcid_table[0]); i++) { + buffer[0] = '\0'; + + rfcstr = NULL; + hr = IMultiLanguage2_GetRfc1766FromLcid(iML2, lcid_table[i].lcid, &rfcstr); + ok(hr == lcid_table[i].hr, + "#%02d: HRESULT 0x%x (expected 0x%x)\n", i, hr, lcid_table[i].hr); + + if (hr != S_OK) + continue; /* no result-string created */ + + WideCharToMultiByte(CP_ACP, 0, rfcstr, -1, buffer, sizeof(buffer), NULL, NULL); + LCMapStringA(LOCALE_USER_DEFAULT, LCMAP_LOWERCASE, lcid_table[i].rfc1766, + lstrlenA(lcid_table[i].rfc1766) + 1, expected, MAX_RFC1766_NAME); + + /* IE <6.0 return "x-kok" for LCID 0x457 ("kok") */ + ok( (!lstrcmpA(buffer, expected)) || + broken(!lstrcmpA(buffer, lcid_table[i].broken_rfc)), + "#%02d: got '%s' (expected '%s')\n", i, buffer, expected); + SysFreeString(rfcstr); } + + hr = IMultiLanguage2_GetRfc1766FromLcid(iML2, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), NULL); + ok(hr == E_INVALIDARG, "got 0x%x (expected E_INVALIDARG)\n", hr); +} + +static void test_LcidToRfc1766(void) +{ + CHAR expected[MAX_RFC1766_NAME]; + CHAR buffer[MAX_RFC1766_NAME * 2]; + HRESULT hr; + DWORD i; + + for(i = 0; i < sizeof(lcid_table) / sizeof(lcid_table[0]); i++) { + + memset(buffer, '#', sizeof(buffer)-1); + buffer[sizeof(buffer)-1] = '\0'; + + hr = pLcidToRfc1766A(lcid_table[i].lcid, buffer, MAX_RFC1766_NAME); + + /* IE <5.0 does not recognize 0x180c (fr-mc) and 0x457 (kok) */ + ok( (hr == lcid_table[i].hr) || + broken(lcid_table[i].broken_lcid && (hr == E_FAIL)), + "#%02d: HRESULT 0x%x (expected 0x%x)\n", i, hr, lcid_table[i].hr); + + if (hr != S_OK) + continue; + + LCMapStringA(LOCALE_USER_DEFAULT, LCMAP_LOWERCASE, lcid_table[i].rfc1766, + lstrlenA(lcid_table[i].rfc1766) + 1, expected, MAX_RFC1766_NAME); + + /* IE <6.0 return "x-kok" for LCID 0x457 ("kok") */ + /* IE <5.0 return "fr" for LCID 0x180c ("fr-mc") */ + ok( (!lstrcmpA(buffer, expected)) || + broken(!lstrcmpA(buffer, lcid_table[i].broken_rfc)), + "#%02d: got '%s' (expected '%s')\n", i, buffer, expected); + + } + + memset(buffer, '#', sizeof(buffer)-1); + buffer[sizeof(buffer)-1] = '\0'; + hr = pLcidToRfc1766A(-1, buffer, MAX_RFC1766_NAME); + ok(hr == E_FAIL, "got 0x%08x and '%s' (expected E_FAIL)\n", hr, buffer); + + hr = pLcidToRfc1766A(LANG_ENGLISH, NULL, MAX_RFC1766_NAME); + ok(hr == E_INVALIDARG, "got 0x%08x (expected E_INVALIDARG)\n", hr); + + memset(buffer, '#', sizeof(buffer)-1); + buffer[sizeof(buffer)-1] = '\0'; + hr = pLcidToRfc1766A(LANG_ENGLISH, buffer, -1); + ok(hr == E_INVALIDARG, "got 0x%08x and '%s' (expected E_INVALIDARG)\n", hr, buffer); + + memset(buffer, '#', sizeof(buffer)-1); + buffer[sizeof(buffer)-1] = '\0'; + hr = pLcidToRfc1766A(LANG_ENGLISH, buffer, 0); + ok(hr == E_INVALIDARG, "got 0x%08x and '%s' (expected E_INVALIDARG)\n", hr, buffer); +} + +static void test_GetRfc1766Info(IMultiLanguage2 *iML2) +{ + WCHAR short_broken_name[MAX_LOCALE_NAME]; + CHAR rfc1766A[MAX_RFC1766_NAME + 1]; + BYTE buffer[sizeof(RFC1766INFO) + 4]; + PRFC1766INFO prfc = (RFC1766INFO *) buffer; + HRESULT ret; + DWORD i; + + for(i = 0; i < sizeof(info_table) / sizeof(info_table[0]); i++) { + memset(buffer, 'x', sizeof(RFC1766INFO) + 2); + buffer[sizeof(buffer) -1] = 0; + buffer[sizeof(buffer) -2] = 0; + + ret = IMultiLanguage2_GetRfc1766Info(iML2, info_table[i].lcid, info_table[i].lang, prfc); + WideCharToMultiByte(CP_ACP, 0, prfc->wszRfc1766, -1, rfc1766A, MAX_RFC1766_NAME, NULL, NULL); + ok(ret == S_OK, "#%02d: got 0x%x (expected S_OK)\n", i, ret); + ok(prfc->lcid == info_table[i].lcid, + "#%02d: got 0x%04x (expected 0x%04x)\n", i, prfc->lcid, info_table[i].lcid); + + ok(!lstrcmpA(rfc1766A, info_table[i].rfc1766), + "#%02d: got '%s' (expected '%s')\n", i, rfc1766A, info_table[i].rfc1766); + + /* Some IE versions truncate an oversized name one character to short */ + mylstrcpyW(short_broken_name, info_table[i].broken_name); + short_broken_name[MAX_LOCALE_NAME - 2] = '\0'; + + if (info_table[i].todo & TODO_NAME) { + todo_wine + ok( (!mylstrcmpW(prfc->wszLocaleName, info_table[i].localename)) || + broken(!mylstrcmpW(prfc->wszLocaleName, info_table[i].broken_name)) || /* IE < 6.0 */ + broken(!mylstrcmpW(prfc->wszLocaleName, short_broken_name)), + "#%02d: got %s (expected %s)\n", i, + debugstr_w(prfc->wszLocaleName), debugstr_w(info_table[i].localename)); + } + else + ok( (!mylstrcmpW(prfc->wszLocaleName, info_table[i].localename)) || + broken(!mylstrcmpW(prfc->wszLocaleName, info_table[i].broken_name)) || /* IE < 6.0 */ + broken(!mylstrcmpW(prfc->wszLocaleName, short_broken_name)), + "#%02d: got %s (expected %s)\n", i, + debugstr_w(prfc->wszLocaleName), debugstr_w(info_table[i].localename)); + + } + + /* SUBLANG_NEUTRAL only allowed for english, arabic, chinese */ + ret = IMultiLanguage2_GetRfc1766Info(iML2, MAKELANGID(LANG_GERMAN, SUBLANG_NEUTRAL), LANG_ENGLISH, prfc); + ok(ret == E_FAIL, "got 0x%x (expected E_FAIL)\n", ret); + + ret = IMultiLanguage2_GetRfc1766Info(iML2, MAKELANGID(LANG_ITALIAN, SUBLANG_NEUTRAL), LANG_ENGLISH, prfc); + ok(ret == E_FAIL, "got 0x%x (expected E_FAIL)\n", ret); + + /* NULL not allowed */ + ret = IMultiLanguage2_GetRfc1766Info(iML2, 0, LANG_ENGLISH, prfc); + ok(ret == E_FAIL, "got 0x%x (expected E_FAIL)\n", ret); + + ret = IMultiLanguage2_GetRfc1766Info(iML2, LANG_ENGLISH, LANG_ENGLISH, NULL); + ok(ret == E_INVALIDARG, "got 0x%x (expected E_INVALIDARG)\n", ret); } static void test_IMultiLanguage2_ConvertStringFromUnicode(IMultiLanguage2 *iML2) @@ -1446,23 +1841,23 @@ SCRIPTFONTINFO sfi[1]; nfonts = 0; - hr = IMLangFontLink2_GetScriptFontInfo(font_link, sidLatin, 0, &nfonts, NULL); + hr = IMLangFontLink2_GetScriptFontInfo(font_link, sidAsciiLatin, 0, &nfonts, NULL); ok(hr == S_OK, "GetScriptFontInfo failed %u\n", GetLastError()); ok(nfonts, "unexpected result\n"); nfonts = 0; - hr = IMLangFontLink2_GetScriptFontInfo(font_link, sidLatin, SCRIPTCONTF_FIXED_FONT, &nfonts, NULL); + hr = IMLangFontLink2_GetScriptFontInfo(font_link, sidAsciiLatin, SCRIPTCONTF_FIXED_FONT, &nfonts, NULL); ok(hr == S_OK, "GetScriptFontInfo failed %u\n", GetLastError()); ok(nfonts, "unexpected result\n"); nfonts = 0; - hr = IMLangFontLink2_GetScriptFontInfo(font_link, sidLatin, SCRIPTCONTF_PROPORTIONAL_FONT, &nfonts, NULL); + hr = IMLangFontLink2_GetScriptFontInfo(font_link, sidAsciiLatin, SCRIPTCONTF_PROPORTIONAL_FONT, &nfonts, NULL); ok(hr == S_OK, "GetScriptFontInfo failed %u\n", GetLastError()); ok(nfonts, "unexpected result\n"); nfonts = 1; memset(sfi, 0, sizeof(sfi)); - hr = IMLangFontLink2_GetScriptFontInfo(font_link, sidLatin, SCRIPTCONTF_FIXED_FONT, &nfonts, sfi); + hr = IMLangFontLink2_GetScriptFontInfo(font_link, sidAsciiLatin, SCRIPTCONTF_FIXED_FONT, &nfonts, sfi); ok(hr == S_OK, "GetScriptFontInfo failed %u\n", GetLastError()); ok(nfonts == 1, "got %u, expected 1\n", nfonts); ok(sfi[0].scripts != 0, "unexpected result\n"); @@ -1470,15 +1865,132 @@ nfonts = 1; memset(sfi, 0, sizeof(sfi)); - hr = IMLangFontLink2_GetScriptFontInfo(font_link, sidLatin, SCRIPTCONTF_PROPORTIONAL_FONT, &nfonts, sfi); + hr = IMLangFontLink2_GetScriptFontInfo(font_link, sidAsciiLatin, SCRIPTCONTF_PROPORTIONAL_FONT, &nfonts, sfi); ok(hr == S_OK, "GetScriptFontInfo failed %u\n", GetLastError()); ok(nfonts == 1, "got %u, expected 1\n", nfonts); ok(sfi[0].scripts != 0, "unexpected result\n"); ok(sfi[0].wszFont[0], "unexpected result\n"); } +static void test_CodePageToScriptID(IMLangFontLink2 *font_link) +{ + HRESULT hr; + UINT i; + SCRIPT_ID sid; + static const struct + { + UINT cp; + SCRIPT_ID sid; + HRESULT hr; + } + cp_sid[] = + { + {874, sidThai}, + {932, sidKana}, + {936, sidHan}, + {949, sidHangul}, + {950, sidBopomofo}, + {1250, sidAsciiLatin}, + {1251, sidCyrillic}, + {1252, sidAsciiLatin}, + {1253, sidGreek}, + {1254, sidAsciiLatin}, + {1255, sidHebrew}, + {1256, sidArabic}, + {1257, sidAsciiLatin}, + {1258, sidAsciiLatin}, + {CP_UNICODE, 0, E_FAIL} + }; + + for (i = 0; i < sizeof(cp_sid)/sizeof(cp_sid[0]); i++) + { + hr = IMLangFontLink2_CodePageToScriptID(font_link, cp_sid[i].cp, &sid); + ok(hr == cp_sid[i].hr, "%u CodePageToScriptID failed 0x%08x %u\n", i, hr, GetLastError()); + if (SUCCEEDED(hr)) + { + ok(sid == cp_sid[i].sid, + "%u got sid %u for codepage %u, expected %u\n", i, sid, cp_sid[i].cp, cp_sid[i].sid); + } + } +} + +static void test_GetFontUnicodeRanges(IMLangFontLink2 *font_link) +{ + HRESULT hr; + UINT count; + HFONT hfont, old_hfont; + LOGFONTA lf; + HDC hdc; + UNICODERANGE *ur; + + hdc = CreateCompatibleDC(0); + memset(&lf, 0, sizeof(lf)); + lstrcpyA(lf.lfFaceName, "Arial"); + hfont = CreateFontIndirectA(&lf); + old_hfont = SelectObject(hdc, hfont); + + count = 0; + hr = IMLangFontLink2_GetFontUnicodeRanges(font_link, NULL, &count, NULL); + ok(hr == E_FAIL, "expected E_FAIL, got 0x%08x\n", hr); + + hr = IMLangFontLink2_GetFontUnicodeRanges(font_link, hdc, NULL, NULL); + ok(hr == E_INVALIDARG, "expected E_FAIL, got 0x%08x\n", hr); + + count = 0; + hr = IMLangFontLink2_GetFontUnicodeRanges(font_link, hdc, &count, NULL); + ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr); + ok(count, "expected count > 0\n"); + + ur = HeapAlloc(GetProcessHeap(), 0, sizeof(*ur) * count); + + hr = IMLangFontLink2_GetFontUnicodeRanges(font_link, hdc, &count, ur); + ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr); + + count--; + hr = IMLangFontLink2_GetFontUnicodeRanges(font_link, hdc, &count, ur); + ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr); + + HeapFree(GetProcessHeap(), 0, ur); + + SelectObject(hdc, old_hfont); + DeleteObject(hfont); + DeleteDC(hdc); +} + +static void test_IsCodePageInstallable(IMultiLanguage2 *ml2) +{ + UINT i; + HRESULT hr; + + SetLastError(0xdeadbeef); + lstrcmpW(NULL, NULL); + if (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) + { + /* This corruption leads (sometimes) to test failures in oleaut32 but also + * to the inability to use the Regional Settings. + * This only seems to be an issue with Win98 and IE6 (mlang version 6.0.2800.1106). + * + * A reboot restores the codepages again. + */ + win_skip("IsCodePageInstallable could mess up the codepages on Win98\n"); + return; + } + + for (i = 0; i < 0xffff; i++) + { + hr = IMultiLanguage2_IsCodePageInstallable(ml2, i); + + /* it would be better to use IMultiLanguage2_ValidateCodePageEx here but that brings + * up an installation dialog on some platforms, even when specifying CPIOD_PEEK. + */ + if (IsValidCodePage(i)) + ok(hr == S_OK, "code page %u is valid but not installable 0x%08x\n", i, hr); + } +} + START_TEST(mlang) { + IMultiLanguage *iML = NULL; IMultiLanguage2 *iML2 = NULL; IMLangFontLink *iMLFL = NULL; IMLangFontLink2 *iMLFL2 = NULL; @@ -1488,6 +2000,24 @@ return; CoInitialize(NULL); + test_Rfc1766ToLcid(); + test_LcidToRfc1766(); + + test_ConvertINetUnicodeToMultiByte(); + test_JapaneseConversion(); + + + trace("IMultiLanguage\n"); + ret = CoCreateInstance(&CLSID_CMultiLanguage, NULL, CLSCTX_INPROC_SERVER, + &IID_IMultiLanguage, (void **)&iML); + if (ret != S_OK || !iML) return; + + test_GetNumberOfCodePageInfo((IMultiLanguage2 *)iML); + IMultiLanguage_Release(iML); + + + /* IMultiLanguage2 (IE5.0 and above) */ + trace("IMultiLanguage2\n"); ret = CoCreateInstance(&CLSID_CMultiLanguage, NULL, CLSCTX_INPROC_SERVER, &IID_IMultiLanguage2, (void **)&iML2); if (ret != S_OK || !iML2) return; @@ -1495,6 +2025,8 @@ test_rfc1766(iML2); test_GetLcidFromRfc1766(iML2); test_GetRfc1766FromLcid(iML2); + test_GetRfc1766Info(iML2); + test_GetNumberOfCodePageInfo(iML2); test_EnumCodePages(iML2, 0); test_EnumCodePages(iML2, MIMECONTF_MIME_LATEST); @@ -1516,12 +2048,12 @@ test_multibyte_to_unicode_translations(iML2); test_IMultiLanguage2_ConvertStringFromUnicode(iML2); + test_IsCodePageInstallable(iML2); + IMultiLanguage2_Release(iML2); - test_ConvertINetUnicodeToMultiByte(); - - test_JapaneseConversion(); - + + /* IMLangFontLink */ ret = CoCreateInstance(&CLSID_CMultiLanguage, NULL, CLSCTX_INPROC_SERVER, &IID_IMLangFontLink, (void **)&iMLFL); if (ret != S_OK || !iMLFL) return; @@ -1529,11 +2061,14 @@ IMLangFontLink_Test(iMLFL); IMLangFontLink_Release(iMLFL); + /* IMLangFontLink2 */ ret = CoCreateInstance(&CLSID_CMultiLanguage, NULL, CLSCTX_INPROC_SERVER, &IID_IMLangFontLink2, (void **)&iMLFL2); if (ret != S_OK || !iMLFL2) return; test_GetScriptFontInfo(iMLFL2); + test_GetFontUnicodeRanges(iMLFL2); + test_CodePageToScriptID(iMLFL2); IMLangFontLink2_Release(iMLFL2); CoUninitialize();
15 years, 4 months
1
0
0
0
[cwittich] 42814: advapi32: fix parameter types of CreateServiceA/W in spec file patch by Stefan Leichter <Stefan dot Leichter at camline dot com>
by cwittich@svn.reactos.org
Author: cwittich Date: Thu Aug 20 20:08:05 2009 New Revision: 42814 URL:
http://svn.reactos.org/svn/reactos?rev=42814&view=rev
Log: advapi32: fix parameter types of CreateServiceA/W in spec file patch by Stefan Leichter <Stefan dot Leichter at camline dot com> Modified: trunk/reactos/dll/win32/advapi32/advapi32.spec Modified: trunk/reactos/dll/win32/advapi32/advapi32.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/advapi3…
============================================================================== --- trunk/reactos/dll/win32/advapi32/advapi32.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advapi32/advapi32.spec [iso-8859-1] Thu Aug 20 20:08:05 2009 @@ -101,8 +101,8 @@ @ stub CreateProcessWithLogonW #(wstr wstr wstr long wstr wstr long ptr wstr ptr ptr) @ stdcall CreateProcessWithTokenW(ptr long wstr wstr long ptr wstr ptr ptr) @ stdcall CreateRestrictedToken(long long long ptr long ptr long ptr ptr) -@ stdcall CreateServiceA(long ptr ptr long long long long ptr ptr ptr ptr ptr ptr) -@ stdcall CreateServiceW(long ptr ptr long long long long ptr ptr ptr ptr ptr ptr) +@ stdcall CreateServiceA(long str str long long long long str str ptr str str str) +@ stdcall CreateServiceW(long wstr wstr long long long long wstr wstr ptr wstr wstr wstr) @ stub CreateTraceInstanceId @ stdcall CreateWellKnownSid(long ptr ptr ptr) @ stdcall CredDeleteA(str long long)
15 years, 4 months
1
0
0
0
[cwittich] 42813: sync wintrust with wine 1.1.27
by cwittich@svn.reactos.org
Author: cwittich Date: Thu Aug 20 19:39:08 2009 New Revision: 42813 URL:
http://svn.reactos.org/svn/reactos?rev=42813&view=rev
Log: sync wintrust with wine 1.1.27 Modified: trunk/reactos/dll/win32/wintrust/asn.c trunk/reactos/dll/win32/wintrust/crypt.c trunk/reactos/dll/win32/wintrust/softpub.c trunk/reactos/dll/win32/wintrust/wintrust.spec trunk/reactos/dll/win32/wintrust/wintrust_main.c Modified: trunk/reactos/dll/win32/wintrust/asn.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wintrust/asn.c?r…
============================================================================== --- trunk/reactos/dll/win32/wintrust/asn.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/wintrust/asn.c [iso-8859-1] Thu Aug 20 19:39:08 2009 @@ -2079,15 +2079,6 @@ return ret; } -BOOL WINAPI WVTAsn1SpcSpOpusInfoDecode(DWORD dwCertEncodingType, - LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, - void *pvStructInfo, DWORD *pcbStructInfo) -{ - FIXME("%p, %d, %08x, %p, %d\n", pbEncoded, cbEncoded, dwFlags, - pvStructInfo, *pcbStructInfo); - return FALSE; -} - static BOOL WINAPI CRYPT_AsnDecodeBMPString(DWORD dwCertEncodingType, LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, void *pvStructInfo, DWORD *pcbStructInfo) @@ -2123,6 +2114,66 @@ str[i] = '\0'; } } + return ret; +} + +static BOOL WINAPI CRYPT_AsnDecodeProgramName(DWORD dwCertEncodingType, + LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, + void *pvStructInfo, DWORD *pcbStructInfo) +{ + BOOL ret = FALSE; + DWORD dataLen; + + TRACE("(%p, %d, %08x, %p, %d)\n", pbEncoded, cbEncoded, dwFlags, + pvStructInfo, pvStructInfo ? *pcbStructInfo : 0); + + if ((ret = CRYPT_GetLen(pbEncoded, cbEncoded, &dataLen))) + { + BYTE lenBytes = GET_LEN_BYTES(pbEncoded[1]); + + ret = CRYPT_AsnDecodeBMPString(dwCertEncodingType, lpszStructType, + pbEncoded + 1 + lenBytes, dataLen, dwFlags, pvStructInfo, + pcbStructInfo); + } + return ret; +} + +BOOL WINAPI WVTAsn1SpcSpOpusInfoDecode(DWORD dwCertEncodingType, + LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, + void *pvStructInfo, DWORD *pcbStructInfo) +{ + BOOL ret = FALSE; + + TRACE("%p, %d, %08x, %p, %d\n", pbEncoded, cbEncoded, dwFlags, + pvStructInfo, *pcbStructInfo); + + __TRY + { + struct AsnDecodeSequenceItem items[] = { + { ASN_CONSTRUCTOR | ASN_CONTEXT, + offsetof(SPC_SP_OPUS_INFO, pwszProgramName), + CRYPT_AsnDecodeProgramName, sizeof(LPCWSTR), TRUE, TRUE, + offsetof(SPC_SP_OPUS_INFO, pwszProgramName), 0 }, + { ASN_CONSTRUCTOR | ASN_CONTEXT | 1, + offsetof(SPC_SP_OPUS_INFO, pMoreInfo), + CRYPT_AsnDecodeSPCLinkPointer, sizeof(PSPC_LINK), TRUE, TRUE, + offsetof(SPC_SP_OPUS_INFO, pMoreInfo), 0 }, + { ASN_CONSTRUCTOR | ASN_CONTEXT | 2, + offsetof(SPC_SP_OPUS_INFO, pPublisherInfo), + CRYPT_AsnDecodeSPCLinkPointer, sizeof(PSPC_LINK), TRUE, TRUE, + offsetof(SPC_SP_OPUS_INFO, pPublisherInfo), 0 }, + }; + + ret = CRYPT_AsnDecodeSequence(dwCertEncodingType, items, + sizeof(items) / sizeof(items[0]), pbEncoded, cbEncoded, dwFlags, + pvStructInfo, pcbStructInfo, NULL); + } + __EXCEPT_PAGE_FAULT + { + SetLastError(STATUS_ACCESS_VIOLATION); + } + __ENDTRY + TRACE("returning %d\n", ret); return ret; } Modified: trunk/reactos/dll/win32/wintrust/crypt.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wintrust/crypt.c…
============================================================================== --- trunk/reactos/dll/win32/wintrust/crypt.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/wintrust/crypt.c [iso-8859-1] Thu Aug 20 19:39:08 2009 @@ -1121,36 +1121,6 @@ TRACE("(%p %p %d %p %p)\n", pSubjectInfo, pdwEncodingType, dwIndex, pcbSignedDataMsg, pbSignedDataMsg); - /* - * FIXME: I just noticed that I am memorizing the initial file pointer - * offset and restoring it before reading in the rest of the header - * information in the cabinet. Perhaps that's correct -- that is, perhaps - * this API is supposed to support "streaming" cabinets which are embedded - * in other files, or cabinets which begin at file offsets other than zero. - * Otherwise, I should instead go to the absolute beginning of the file. - * (Either way, the semantics of wine's FDICopy require me to leave the - * file pointer where it is afterwards -- If Windows does not do so, we - * ought to duplicate the native behavior in the FDIIsCabinet API, not here. - * - * So, the answer lies in Windows; will native cabinet.dll recognize a - * cabinet "file" embedded in another file? Note that cabextract.c does - * support this, which implies that Microsoft's might. I haven't tried it - * yet so I don't know. ATM, most of wine's FDI cabinet routines (except - * this one) would not work in this way. To fix it, we could just make the - * various references to absolute file positions in the code relative to an - * initial "beginning" offset. Because the FDICopy API doesn't take a - * file-handle like this one, we would therein need to search through the - * file for the beginning of the cabinet (as we also do in cabextract.c). - * Note that this limits us to a maximum of one cabinet per. file: the first. - * - * So, in summary: either the code below is wrong, or the rest of fdi.c is - * wrong... I cannot imagine that both are correct ;) One of these flaws - * should be fixed after determining the behavior on Windows. We ought - * to check both FDIIsCabinet and FDICopy for the right behavior. - * - * -gmt - */ - /* get basic offset & size info */ base_offset = SetFilePointer(pSubjectInfo->hFile, 0L, NULL, SEEK_CUR); @@ -1162,7 +1132,7 @@ cabsize = SetFilePointer(pSubjectInfo->hFile, 0L, NULL, SEEK_CUR); if ((cabsize == -1) || (base_offset == -1) || - (SetFilePointer(pSubjectInfo->hFile, base_offset, NULL, SEEK_SET) == INVALID_SET_FILE_POINTER)) + (SetFilePointer(pSubjectInfo->hFile, 0, NULL, SEEK_SET) == INVALID_SET_FILE_POINTER)) { TRACE("seek error\n"); return FALSE; @@ -1267,6 +1237,7 @@ NULL) || dwRead != cert_size) { ERR("couldn't read cert\n"); + SetFilePointer(pSubjectInfo->hFile, base_offset, NULL, SEEK_SET); return FALSE; } /* The encoding of the files I've seen appears to be in ASN.1 @@ -1274,6 +1245,8 @@ * always is. */ *pdwEncodingType = X509_ASN_ENCODING | PKCS_7_ASN_ENCODING; + /* Restore base offset */ + SetFilePointer(pSubjectInfo->hFile, base_offset, NULL, SEEK_SET); return TRUE; } Modified: trunk/reactos/dll/win32/wintrust/softpub.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wintrust/softpub…
============================================================================== --- trunk/reactos/dll/win32/wintrust/softpub.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/wintrust/softpub.c [iso-8859-1] Thu Aug 20 19:39:08 2009 @@ -90,7 +90,9 @@ { BOOL ret; - if (!data->pWintrustData->u.pFile->pgKnownSubject) + if (!WVT_ISINSTRUCT(WINTRUST_FILE_INFO, + data->pWintrustData->u.pFile->cbStruct, pgKnownSubject) || + !data->pWintrustData->u.pFile->pgKnownSubject) { ret = CryptSIPRetrieveSubjectGuid( data->pWintrustData->u.pFile->pcwszFilePath, @@ -254,7 +256,8 @@ BOOL ret; if (data->pWintrustData->u.pCert && - data->pWintrustData->u.pCert->cbStruct == sizeof(WINTRUST_CERT_INFO)) + WVT_IS_CBSTRUCT_GT_MEMBEROFFSET(WINTRUST_CERT_INFO, + data->pWintrustData->u.pCert->cbStruct, psCertContext)) { if (data->psPfns) { @@ -264,7 +267,9 @@ /* Add a signer with nothing but the time to verify, so we can * add a cert to it */ - if (data->pWintrustData->u.pCert->psftVerifyAsOf) + if (WVT_ISINSTRUCT(WINTRUST_CERT_INFO, + data->pWintrustData->u.pCert->cbStruct, psftVerifyAsOf) && + data->pWintrustData->u.pCert->psftVerifyAsOf) data->sftSystemTime = signer.sftVerifyAsOf; else { @@ -278,10 +283,12 @@ { ret = data->psPfns->pfnAddCert2Chain(data, 0, FALSE, 0, data->pWintrustData->u.pCert->psCertContext); - for (i = 0; ret && i < data->pWintrustData->u.pCert->chStores; - i++) - ret = data->psPfns->pfnAddStore2Chain(data, - data->pWintrustData->u.pCert->pahStores[i]); + if (WVT_ISINSTRUCT(WINTRUST_CERT_INFO, + data->pWintrustData->u.pCert->cbStruct, pahStores)) + for (i = 0; + ret && i < data->pWintrustData->u.pCert->chStores; i++) + ret = data->psPfns->pfnAddStore2Chain(data, + data->pWintrustData->u.pCert->pahStores[i]); } } else @@ -1058,3 +1065,15 @@ return S_OK; } + +HRESULT WINAPI HTTPSCertificateTrust(CRYPT_PROVIDER_DATA *data) +{ + FIXME("(%p)\n", data); + return S_OK; +} + +HRESULT WINAPI HTTPSFinalProv(CRYPT_PROVIDER_DATA *data) +{ + FIXME("(%p)\n", data); + return S_OK; +} Modified: trunk/reactos/dll/win32/wintrust/wintrust.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wintrust/wintrus…
============================================================================== --- trunk/reactos/dll/win32/wintrust/wintrust.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/wintrust/wintrust.spec [iso-8859-1] Thu Aug 20 19:39:08 2009 @@ -48,8 +48,8 @@ @ stub FindCertsByIssuer @ stdcall GenericChainCertificateTrust(ptr) @ stdcall GenericChainFinalProv(ptr) -@ stub HTTPSCertificateTrust -@ stub HTTPSFinalProv +@ stdcall HTTPSCertificateTrust(ptr) +@ stdcall HTTPSFinalProv(ptr) @ stub IsCatalogFile @ stub MsCatConstructHashTag @ stub MsCatFreeHashTag @@ -73,6 +73,7 @@ @ stub TrustFreeDecode @ stdcall TrustIsCertificateSelfSigned(ptr) @ stub TrustOpenStores +@ stdcall WTHelperCertCheckValidSignature(ptr) @ stub WTHelperCertFindIssuerCertificate @ stub WTHelperCertIsSelfSigned @ stub WTHelperCheckCertUsage Modified: trunk/reactos/dll/win32/wintrust/wintrust_main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wintrust/wintrus…
============================================================================== --- trunk/reactos/dll/win32/wintrust/wintrust_main.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/wintrust/wintrust_main.c [iso-8859-1] Thu Aug 20 19:39:08 2009 @@ -303,7 +303,8 @@ { case WTD_CHOICE_BLOB: if (data->pWintrustData->u.pBlob && - data->pWintrustData->u.pBlob->cbStruct == sizeof(WINTRUST_BLOB_INFO) && + WVT_IS_CBSTRUCT_GT_MEMBEROFFSET(WINTRUST_BLOB_INFO, + data->pWintrustData->u.pBlob->cbStruct, pbMemObject) && data->pWintrustData->u.pBlob->cbMemObject == sizeof(CERT_VERIFY_CERTIFICATE_TRUST) && data->pWintrustData->u.pBlob->pbMemObject) @@ -1084,3 +1085,12 @@ uiCertMgr.pszInitUsageOID = NULL; return CryptUIDlgCertMgr(&uiCertMgr); } + +/*********************************************************************** + * WTHelperCertCheckValidSignature + */ +HRESULT WINAPI WTHelperCertCheckValidSignature(CRYPT_PROVIDER_DATA *pProvData) +{ + FIXME("Stub\n"); + return S_OK; +}
15 years, 4 months
1
0
0
0
[cgutman] 42812: - Forgot to change debug print
by cgutman@svn.reactos.org
Author: cgutman Date: Thu Aug 20 19:33:22 2009 New Revision: 42812 URL:
http://svn.reactos.org/svn/reactos?rev=42812&view=rev
Log: - Forgot to change debug print Modified: trunk/reactos/drivers/network/tcpip/tcpip/fileobjs.c Modified: trunk/reactos/drivers/network/tcpip/tcpip/fileobjs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/tcpip/tcpi…
============================================================================== --- trunk/reactos/drivers/network/tcpip/tcpip/fileobjs.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/tcpip/tcpip/fileobjs.c [iso-8859-1] Thu Aug 20 19:33:22 2009 @@ -210,7 +210,7 @@ if (!AddrIsUnspecified(&AddrFile->Address) && !AddrLocateInterface(&AddrFile->Address)) { exFreePool(AddrFile); - TI_DbgPrint(MIN_TRACE, ("Non-local address given (0x%X).\n", DN2H(IPv4Address))); + TI_DbgPrint(MIN_TRACE, ("Non-local address given (0x%X).\n", A2S(&AddrFile->Address))); return STATUS_INVALID_PARAMETER; }
15 years, 4 months
1
0
0
0
[cgutman] 42811: - Fix receiving packets on an interface's broadcast address while bound to an undefined address - Simplify binding to a certain interface
by cgutman@svn.reactos.org
Author: cgutman Date: Thu Aug 20 19:25:39 2009 New Revision: 42811 URL:
http://svn.reactos.org/svn/reactos?rev=42811&view=rev
Log: - Fix receiving packets on an interface's broadcast address while bound to an undefined address - Simplify binding to a certain interface Modified: trunk/reactos/drivers/network/tcpip/include/address.h trunk/reactos/drivers/network/tcpip/tcpip/fileobjs.c trunk/reactos/lib/drivers/ip/network/interface.c Modified: trunk/reactos/drivers/network/tcpip/include/address.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/tcpip/incl…
============================================================================== --- trunk/reactos/drivers/network/tcpip/include/address.h [iso-8859-1] (original) +++ trunk/reactos/drivers/network/tcpip/include/address.h [iso-8859-1] Thu Aug 20 19:25:39 2009 @@ -55,8 +55,8 @@ PIP_ADDRESS Address1, IPv4_RAW_ADDRESS Address2); -BOOLEAN AddrLocateADEv4( - IPv4_RAW_ADDRESS MatchAddress, PIP_ADDRESS Address); +PIP_INTERFACE AddrLocateInterface( + PIP_ADDRESS MatchAddress); PADDRESS_FILE AddrSearchFirst( PIP_ADDRESS Address, Modified: trunk/reactos/drivers/network/tcpip/tcpip/fileobjs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/tcpip/tcpi…
============================================================================== --- trunk/reactos/drivers/network/tcpip/tcpip/fileobjs.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/tcpip/tcpip/fileobjs.c [iso-8859-1] Thu Aug 20 19:25:39 2009 @@ -43,18 +43,50 @@ return AddrSearchNext(SearchContext); } -BOOLEAN AddrIsBroadcast( - PIP_ADDRESS PossibleMatch, - PIP_ADDRESS TargetAddress ) { +BOOLEAN AddrIsBroadcastMatch( + PIP_ADDRESS UnicastAddress, + PIP_ADDRESS BroadcastAddress ) { IF_LIST_ITER(IF); ForEachInterface(IF) { - if( AddrIsEqual( &IF->Unicast, PossibleMatch ) && - AddrIsEqual( &IF->Broadcast, TargetAddress ) ) + if ((AddrIsUnspecified(UnicastAddress) || + AddrIsEqual(&IF->Unicast, UnicastAddress)) && + (AddrIsEqual(&IF->Broadcast, BroadcastAddress))) return TRUE; } EndFor(IF); return FALSE; +} + +BOOLEAN AddrReceiveMatch( + PIP_ADDRESS LocalAddress, + PIP_ADDRESS RemoteAddress) +{ + if (AddrIsEqual(LocalAddress, RemoteAddress)) + { + /* Unicast address match */ + return TRUE; + } + + if (AddrIsBroadcastMatch(LocalAddress, RemoteAddress)) + { + /* Broadcast address match */ + return TRUE; + } + + if (AddrIsUnspecified(LocalAddress)) + { + /* Local address unspecified */ + return TRUE; + } + + if (AddrIsUnspecified(RemoteAddress)) + { + /* Remote address unspecified */ + return TRUE; + } + + return FALSE; } /* @@ -96,10 +128,7 @@ /* See if this address matches the search criteria */ if ((Current->Port == SearchContext->Port) && (Current->Protocol == SearchContext->Protocol) && - (AddrIsEqual(IPAddress, SearchContext->Address) || - AddrIsBroadcast(IPAddress, SearchContext->Address) || - AddrIsUnspecified(IPAddress) || - AddrIsUnspecified(SearchContext->Address))) { + (AddrReceiveMatch(IPAddress, SearchContext->Address))) { /* We've found a match */ Found = TRUE; break; @@ -156,7 +185,6 @@ USHORT Protocol, PVOID Options) { - IPv4_RAW_ADDRESS IPv4Address; PADDRESS_FILE AddrFile; TI_DbgPrint(MID_TRACE, ("Called (Proto %d).\n", Protocol)); @@ -176,17 +204,14 @@ /* Make sure address is a local unicast address or 0 */ /* FIXME: IPv4 only */ AddrFile->Family = Address->Address[0].AddressType; - IPv4Address = Address->Address[0].Address[0].in_addr; - if (IPv4Address != 0 && - !AddrLocateADEv4(IPv4Address, &AddrFile->Address)) { + AddrFile->Address.Address.IPv4Address = Address->Address[0].Address[0].in_addr; + AddrFile->Address.Type = IP_ADDRESS_V4; + + if (!AddrIsUnspecified(&AddrFile->Address) && + !AddrLocateInterface(&AddrFile->Address)) { exFreePool(AddrFile); TI_DbgPrint(MIN_TRACE, ("Non-local address given (0x%X).\n", DN2H(IPv4Address))); return STATUS_INVALID_PARAMETER; - } - else - { - /* Bound to the default address ... Copy the address type */ - AddrFile->Address.Type = IP_ADDRESS_V4; } TI_DbgPrint(MID_TRACE, ("Opening address %s for communication (P=%d U=%d).\n", Modified: trunk/reactos/lib/drivers/ip/network/interface.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/drivers/ip/network/int…
============================================================================== --- trunk/reactos/lib/drivers/ip/network/interface.c [iso-8859-1] (original) +++ trunk/reactos/lib/drivers/ip/network/interface.c [iso-8859-1] Thu Aug 20 19:25:39 2009 @@ -81,36 +81,26 @@ return Status; } -/* - * FUNCTION: Locates and returns an address entry using IPv4 adress as argument - * ARGUMENTS: - * Address = Raw IPv4 address - * RETURNS: - * Pointer to address entry if found, NULL if not found - * NOTES: - * If found, the address is referenced - */ -BOOLEAN AddrLocateADEv4( - IPv4_RAW_ADDRESS MatchAddress, PIP_ADDRESS Address) +PIP_INTERFACE AddrLocateInterface( + PIP_ADDRESS MatchAddress) { KIRQL OldIrql; - BOOLEAN Matched = FALSE; + PIP_INTERFACE RetIF = NULL; IF_LIST_ITER(CurrentIF); TcpipAcquireSpinLock(&InterfaceListLock, &OldIrql); ForEachInterface(CurrentIF) { - if( AddrIsEqualIPv4( &CurrentIF->Unicast, MatchAddress ) || - AddrIsEqualIPv4( &CurrentIF->Broadcast, MatchAddress ) ) { - Address->Type = IP_ADDRESS_V4; - Address->Address.IPv4Address = MatchAddress; - Matched = TRUE; break; + if( AddrIsEqual( &CurrentIF->Unicast, MatchAddress ) || + AddrIsEqual( &CurrentIF->Broadcast, MatchAddress ) ) { + RetIF = CurrentIF; + break; } } EndFor(CurrentIF); TcpipReleaseSpinLock(&InterfaceListLock, OldIrql); - return Matched; + return RetIF; } BOOLEAN HasPrefix(
15 years, 4 months
1
0
0
0
[sginsberg] 42810: - Fix some C4115 in typeof.h
by sginsberg@svn.reactos.org
Author: sginsberg Date: Thu Aug 20 19:15:46 2009 New Revision: 42810 URL:
http://svn.reactos.org/svn/reactos?rev=42810&view=rev
Log: - Fix some C4115 in typeof.h Modified: trunk/reactos/include/reactos/wine/typeof.h Modified: trunk/reactos/include/reactos/wine/typeof.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/wine/typeo…
============================================================================== --- trunk/reactos/include/reactos/wine/typeof.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/wine/typeof.h [iso-8859-1] Thu Aug 20 19:15:46 2009 @@ -15,6 +15,14 @@ #define __typeof_size __typeof_intptr #define __typeof_wchar unsigned short #endif + +struct IUnknown; +struct _tagIMEINFO; +struct tagSTYLEBUFW; +struct tagCANDIDATELIST; +struct tagIMEMENUITEMINFOW; +struct _xsltStylesheet; +struct jpeg_decompress_struct; typedef struct IWineD3D * (__stdcall typeof(WineDirect3DCreate))(unsigned int, struct IUnknown *); typedef struct IWineD3DClipper * (__stdcall typeof(WineDirect3DCreateClipper))(struct IUnknown *);
15 years, 4 months
1
0
0
0
[mkupfer] 42809: - 4th part of German translation of rapps entries. - change some entries to proper values
by mkupfer@svn.reactos.org
Author: mkupfer Date: Thu Aug 20 18:40:57 2009 New Revision: 42809 URL:
http://svn.reactos.org/svn/reactos?rev=42809&view=rev
Log: - 4th part of German translation of rapps entries. - change some entries to proper values Modified: trunk/reactos/base/applications/rapps/rapps/sdl_runtime.txt trunk/reactos/base/applications/rapps/rapps/tileworld.txt trunk/reactos/base/applications/rapps/rapps/tuxpaint.txt trunk/reactos/base/applications/rapps/rapps/utorrent.txt trunk/reactos/base/applications/rapps/rapps/vb5run.txt trunk/reactos/base/applications/rapps/rapps/vb6run.txt trunk/reactos/base/applications/rapps/rapps/vc2005run.txt trunk/reactos/base/applications/rapps/rapps/vc2005sp1run.txt trunk/reactos/base/applications/rapps/rapps/vc2008run.txt trunk/reactos/base/applications/rapps/rapps/vc6run.txt trunk/reactos/base/applications/rapps/rapps/winboard.txt Modified: trunk/reactos/base/applications/rapps/rapps/sdl_runtime.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/sdl_runtime.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/sdl_runtime.txt [iso-8859-1] Thu Aug 20 18:40:57 2009 @@ -11,9 +11,8 @@ URLDownload =
http://www.libsdl.org/release/SDL-1.2.13-win32.zip
CDPath = none - [Section.0407] -Name = Simple Direct Media Layer (SDL) Laufzeitumgebung +Name = Simple Direct Media Layer (SDL) Laufzeitsystem Licence = Unbekannt Description = Erforderlich um einige Open Source Spiele auszuführen. Sie brauchen 7-Zip oder einen ähnlichen Entpacker um es zu entpacken. Size = Unbekannt Modified: trunk/reactos/base/applications/rapps/rapps/tileworld.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/tileworld.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/tileworld.txt [iso-8859-1] Thu Aug 20 18:40:57 2009 @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Tile World @@ -10,3 +10,9 @@ URLSite = Unknown URLDownload =
http://www.muppetlabs.com/~breadbox/pub/software/tworld/tworld-1.3.0-win32-…
CDPath = none + +[Section.0407] +Licence = Unbekannt +Description = Schöner Klon von Chip's Challange ursprünglich etnwickelt für Atari Lynx. Enthält CCLP2 Graphics Pack, deshalb wird das urheberrechtlich geschützte Original nicht benötigt. +Size = Unbekannt +URLSite = Unbekannt Modified: trunk/reactos/base/applications/rapps/rapps/tuxpaint.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/tuxpaint.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/tuxpaint.txt [iso-8859-1] Thu Aug 20 18:40:57 2009 @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = TuxPaint @@ -10,3 +10,9 @@ URLSite = Unknown URLDownload =
http://ovh.dl.sourceforge.net/sourceforge/tuxpaint/tuxpaint-0.9.19-win32-in…
CDPath = none + +[Section.0407] +Licence = Unbekannt +Description = Ein Open Source Bitmap Zeichenprogramm für kleine Kinder. +Size = Unbekannt +URLSite = Unbekannt Modified: trunk/reactos/base/applications/rapps/rapps/utorrent.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/utorrent.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/utorrent.txt [iso-8859-1] Thu Aug 20 18:40:57 2009 @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = uTorrent @@ -10,3 +10,9 @@ URLSite = Unknown URLDownload =
http://download.utorrent.com/1.8.2/utorrent-1.8.2.upx.exe
CDPath = none + +[Section.0407] +Licence = Unbekannt +Description = Kleiner und schneller BitTorrent Client. +Size = Unbekannt +URLSite = Unbekannt Modified: trunk/reactos/base/applications/rapps/rapps/vb5run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/vb5run.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/vb5run.txt [iso-8859-1] Thu Aug 20 18:40:57 2009 @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Visual Basic 5 Runtime @@ -10,3 +10,9 @@ URLSite = Unknown URLDownload =
http://download.microsoft.com/download/vb50pro/utility/1/win98/en-us/msvbvm…
CDPath = none + +[Section.0407] +Licence = Unbekannt +Description = Visual Basic 5 Laufzeitsystem +Size = Unbekannt +URLSite = Unbekannt Modified: trunk/reactos/base/applications/rapps/rapps/vb6run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/vb6run.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/vb6run.txt [iso-8859-1] Thu Aug 20 18:40:57 2009 @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Visual Basic 6 Runtime @@ -10,3 +10,9 @@ URLSite = Unknown URLDownload =
http://download.microsoft.com/download/vb60pro/install/6/win98me/en-us/vbru…
CDPath = none + +[Section.0407] +Licence = Unbekannt +Description = Visual Basic 6 Laufzeitsystem +Size = Unbekannt +URLSite = Unbekannt Modified: trunk/reactos/base/applications/rapps/rapps/vc2005run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/vc2005run.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/vc2005run.txt [iso-8859-1] Thu Aug 20 18:40:57 2009 @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Visual Studio 2005 Runtime @@ -10,3 +10,9 @@ URLSite = Unknown URLDownload =
http://download.microsoft.com/download/d/3/4/d342efa6-3266-4157-a2ec-517486…
CDPath = none + +[Section.0407] +Licence = Unbekannt +Description = Visual Studio 2005 Laufzeitsystem +Size = Unbekannt +URLSite = Unbekannt Modified: trunk/reactos/base/applications/rapps/rapps/vc2005sp1run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/vc2005sp1run.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/vc2005sp1run.txt [iso-8859-1] Thu Aug 20 18:40:57 2009 @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Visual Studio 2005 Runtime SP1 @@ -10,3 +10,9 @@ URLSite = Unknown URLDownload =
http://download.microsoft.com/download/e/1/c/e1c773de-73ba-494a-a5ba-f24906…
CDPath = none + +[Section.0407] +Licence = Unbekannt +Description = Visual Studio 2005 Laufzeitsystem SP1 +Size = Unbekannt +URLSite = Unbekannt Modified: trunk/reactos/base/applications/rapps/rapps/vc2008run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/vc2008run.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/vc2008run.txt [iso-8859-1] Thu Aug 20 18:40:57 2009 @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Visual Studio 2008 Runtime @@ -10,3 +10,9 @@ URLSite = Unknown URLDownload =
http://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5…
CDPath = none + +[Section.0407] +Licence = Unbekannt +Description = Visual Studio 2008 Laufzeitsystem +Size = Unbekannt +URLSite = Unbekannt Modified: trunk/reactos/base/applications/rapps/rapps/vc6run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/vc6run.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/vc6run.txt [iso-8859-1] Thu Aug 20 18:40:57 2009 @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = Visual Studio 6 Runtime @@ -10,3 +10,9 @@ URLSite = Unknown URLDownload =
http://download.microsoft.com/download/vc60pro/update/1/w9xnt4/en-us/vc6red…
CDPath = none + +[Section.0407] +Licence = Unbekannt +Description = Visual Studio 6 Laufzeitsystem +Size = Unbekannt +URLSite = Unbekannt Modified: trunk/reactos/base/applications/rapps/rapps/winboard.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/ra…
============================================================================== --- trunk/reactos/base/applications/rapps/rapps/winboard.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rapps/winboard.txt [iso-8859-1] Thu Aug 20 18:40:57 2009 @@ -1,4 +1,4 @@ -; UTF-8 +; UTF-8 [Section] Name = WinBoard @@ -10,3 +10,10 @@ URLSite = Unknown URLDownload =
http://ftp.gnu.org/gnu/winboard/winboard-4_2_7b.exe
CDPath = none + +[Section.0407] +Description = WinBoard ist ein grafisches Schachbrett für Windows/ReactOS welches als Nutzerinterface für GNU Chess, Crafty oder andere Schachprogramme, für Internet Schachserver und für Briefschach dient. +Size = Unbekannt +URLSite = Unbekannt + +
15 years, 4 months
1
0
0
0
[sginsberg] 42808: - Get rid of some more assumptions that the default calling convention is stdcall
by sginsberg@svn.reactos.org
Author: sginsberg Date: Thu Aug 20 16:45:32 2009 New Revision: 42808 URL:
http://svn.reactos.org/svn/reactos?rev=42808&view=rev
Log: - Get rid of some more assumptions that the default calling convention is stdcall Modified: trunk/reactos/include/ddk/punknown.h trunk/reactos/include/ddk/unknown.h trunk/reactos/include/reactos/subsys/csr/server.h Modified: trunk/reactos/include/ddk/punknown.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/punknown.h?rev…
============================================================================== --- trunk/reactos/include/ddk/punknown.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/punknown.h [iso-8859-1] Thu Aug 20 16:45:32 2009 @@ -80,7 +80,7 @@ Constructor callback definition */ -typedef HRESULT (*PFNCREATEINSTANCE)( +typedef HRESULT (NTAPI *PFNCREATEINSTANCE)( OUT PUNKNOWN* Unknown, IN REFCLSID ClassId, IN PUNKNOWN OuterUnknown, Modified: trunk/reactos/include/ddk/unknown.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/unknown.h?rev=…
============================================================================== --- trunk/reactos/include/ddk/unknown.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/unknown.h [iso-8859-1] Thu Aug 20 16:45:32 2009 @@ -44,7 +44,7 @@ typedef IUnknown *PUNKNOWN; typedef HRESULT -(*PFNCREATEINSTANCE) +(NTAPI *PFNCREATEINSTANCE) ( OUT PUNKNOWN * Unknown, IN REFCLSID ClassId, Modified: trunk/reactos/include/reactos/subsys/csr/server.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/subsys/csr…
============================================================================== --- trunk/reactos/include/reactos/subsys/csr/server.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/subsys/csr/server.h [iso-8859-1] Thu Aug 20 16:45:32 2009 @@ -107,7 +107,7 @@ /* FUNCTION TYPES ************************************************************/ typedef NTSTATUS -(*PCSR_CONNECT_CALLBACK)( +(NTAPI *PCSR_CONNECT_CALLBACK)( IN PCSR_PROCESS CsrProcess, IN OUT PVOID ConnectionInfo, IN OUT PULONG ConnectionInfoLength @@ -115,25 +115,25 @@ typedef VOID -(*PCSR_DISCONNECT_CALLBACK)(IN PCSR_PROCESS CsrProcess); - -typedef -NTSTATUS -(*PCSR_NEWPROCESS_CALLBACK)( +(NTAPI *PCSR_DISCONNECT_CALLBACK)(IN PCSR_PROCESS CsrProcess); + +typedef +NTSTATUS +(NTAPI *PCSR_NEWPROCESS_CALLBACK)( IN PCSR_PROCESS Parent, IN PCSR_PROCESS CsrProcess ); typedef VOID -(*PCSR_HARDERROR_CALLBACK)( +(NTAPI *PCSR_HARDERROR_CALLBACK)( IN PCSR_THREAD CsrThread, IN PHARDERROR_MSG HardErrorMessage ); typedef ULONG -(*PCSR_SHUTDOWNPROCESS_CALLBACK)( +(NTAPI *PCSR_SHUTDOWNPROCESS_CALLBACK)( IN PCSR_PROCESS CsrProcess, IN ULONG Flags, IN BOOLEAN FirstPhase
15 years, 4 months
1
0
0
0
[sginsberg] 42807: - Get rid of DECLSPEC_EXPORT from DDK - "Isolate Hal* #defines, which are absent in WDK, they should not be used in kernel development." No, exactly, and they shouldn't be used in Xbox HAL either
by sginsberg@svn.reactos.org
Author: sginsberg Date: Thu Aug 20 15:57:16 2009 New Revision: 42807 URL:
http://svn.reactos.org/svn/reactos?rev=42807&view=rev
Log: - Get rid of DECLSPEC_EXPORT from DDK - "Isolate Hal* #defines, which are absent in WDK, they should not be used in kernel development." No, exactly, and they shouldn't be used in Xbox HAL either Modified: trunk/reactos/hal/halx86/xbox/part_xbox.c trunk/reactos/include/ddk/ntdef.h trunk/reactos/include/ddk/winddk.h Modified: trunk/reactos/hal/halx86/xbox/part_xbox.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/xbox/part_xbox.…
============================================================================== --- trunk/reactos/hal/halx86/xbox/part_xbox.c [iso-8859-1] (original) +++ trunk/reactos/hal/halx86/xbox/part_xbox.c [iso-8859-1] Thu Aug 20 15:57:16 2009 @@ -304,7 +304,10 @@ return STATUS_ACCESS_DENIED; } -#define HalExamineMBR HALDISPATCH->HalExamineMBR +#define HalExamineMBR HALDISPATCH->HalExamineMBR +#define HalIoReadPartitionTable HALDISPATCH->HalIoReadPartitionTable +#define HalIoSetPartitionInformation HALDISPATCH->HalIoSetPartitionInformation +#define HalIoWritePartitionTable HALDISPATCH->HalIoWritePartitionTable void HalpXboxInitPartIo(void) Modified: trunk/reactos/include/ddk/ntdef.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ntdef.h?rev=42…
============================================================================== --- trunk/reactos/include/ddk/ntdef.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/ntdef.h [iso-8859-1] Thu Aug 20 15:57:16 2009 @@ -193,7 +193,6 @@ // Done the same way as in windef.h for now #define DECLSPEC_IMPORT __declspec(dllimport) -#define DECLSPEC_EXPORT __declspec(dllexport) #define DECLSPEC_NORETURN __declspec(noreturn) Modified: trunk/reactos/include/ddk/winddk.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/winddk.h?rev=4…
============================================================================== --- trunk/reactos/include/ddk/winddk.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/winddk.h [iso-8859-1] Thu Aug 20 15:57:16 2009 @@ -2855,7 +2855,7 @@ extern NTSYSAPI PHAL_DISPATCH HalDispatchTable; #define HALDISPATCH ((PHAL_DISPATCH)&HalDispatchTable) #else -extern DECLSPEC_EXPORT HAL_DISPATCH HalDispatchTable; +extern __declspec(dllexport) HAL_DISPATCH HalDispatchTable; #define HALDISPATCH (&HalDispatchTable) #endif @@ -2876,14 +2876,6 @@ #define HalMirrorPhysicalMemory HALDISPATCH->HalMirrorPhysicalMemory #define HalEndOfBoot HALDISPATCH->HalEndOfBoot #define HalMirrorVerify HALDISPATCH->HalMirrorVerify - -#ifndef _NTOSKRNL_ -#define HalDeviceControl HALDISPATCH->HalDeviceControl -#define HalIoAssignDriveLetters HALDISPATCH->HalIoAssignDriveLetters -#define HalIoReadPartitionTable HALDISPATCH->HalIoReadPartitionTable -#define HalIoSetPartitionInformation HALDISPATCH->HalIoSetPartitionInformation -#define HalIoWritePartitionTable HALDISPATCH->HalIoWritePartitionTable -#endif typedef enum _FILE_INFORMATION_CLASS { FileDirectoryInformation = 1,
15 years, 4 months
1
0
0
0
← Newer
1
...
14
15
16
17
18
19
20
...
66
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Results per page:
10
25
50
100
200