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
February 2019
----- 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
23 participants
208 discussions
Start a n
N
ew thread
[reactos] 01/01: [VERSION] Sync with Wine Staging 4.0. CORE-15682
by Amine Khaldi
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f8a6a70be11405a5064cc…
commit f8a6a70be11405a5064ccd55c2ab586e617884d5 Author: Amine Khaldi <amine.khaldi(a)reactos.org> AuthorDate: Mon Feb 4 13:09:00 2019 +0100 Commit: Amine Khaldi <amine.khaldi(a)reactos.org> CommitDate: Mon Feb 4 13:09:00 2019 +0100 [VERSION] Sync with Wine Staging 4.0. CORE-15682 --- dll/win32/version/version.c | 5 ++--- media/doc/README.WINE | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/dll/win32/version/version.c b/dll/win32/version/version.c index 31955f31b2..68dd4a8df8 100644 --- a/dll/win32/version/version.c +++ b/dll/win32/version/version.c @@ -1054,7 +1054,6 @@ BOOL WINAPI VerQueryValueA( LPCVOID pBlock, LPCSTR lpSubBlock, BOOL WINAPI VerQueryValueW( LPCVOID pBlock, LPCWSTR lpSubBlock, LPVOID *lplpBuffer, PUINT puLen ) { - static const WCHAR nullW[] = { 0 }; static const WCHAR rootW[] = { '\\', 0 }; static const WCHAR varfileinfoW[] = { '\\','V','a','r','F','i','l','e','I','n','f','o', '\\','T','r','a','n','s','l','a','t','i','o','n', 0 }; @@ -1067,7 +1066,7 @@ BOOL WINAPI VerQueryValueW( LPCVOID pBlock, LPCWSTR lpSubBlock, if (!pBlock) return FALSE; - if (lpSubBlock == NULL || lpSubBlock[0] == nullW[0]) + if (!lpSubBlock || !lpSubBlock[0]) lpSubBlock = rootW; if ( VersionInfoIs16( info ) ) @@ -1321,7 +1320,7 @@ DWORD WINAPI VerFindFileW( DWORD flags,LPCWSTR lpszFilename,LPCWSTR lpszWinDir, /* Figure out where the file should go; shared files default to the system directory */ - GetSystemDirectoryW(systemDir, sizeof(systemDir)/sizeof(WCHAR)); + GetSystemDirectoryW(systemDir, ARRAY_SIZE(systemDir)); curDir = &emptyW; if(flags & VFFF_ISSHAREDFILE) diff --git a/media/doc/README.WINE b/media/doc/README.WINE index 78330c4654..e63e791d25 100644 --- a/media/doc/README.WINE +++ b/media/doc/README.WINE @@ -192,7 +192,7 @@ reactos/dll/win32/urlmon # Synced to WineStaging-4.0 reactos/dll/win32/usp10 # Synced to WineStaging-4.0 reactos/dll/win32/uxtheme # Forked reactos/dll/win32/vbscript # Synced to WineStaging-4.0 -reactos/dll/win32/version # Synced to WineStaging-3.9 +reactos/dll/win32/version # Synced to WineStaging-4.0 reactos/dll/win32/vssapi # Synced to WineStaging-2.9 reactos/dll/win32/wbemdisp # Synced to WineStaging-3.3 reactos/dll/win32/wbemprox # Synced to WineStaging-3.9
5 years, 10 months
1
0
0
0
[reactos] 01/01: [VBSCRIPT_WINETEST] Sync with Wine Staging 4.0. CORE-15682
by Amine Khaldi
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=827f6644321c3cab864cc…
commit 827f6644321c3cab864cc39d64ce0925390156d6 Author: Amine Khaldi <amine.khaldi(a)reactos.org> AuthorDate: Mon Feb 4 13:08:28 2019 +0100 Commit: Amine Khaldi <amine.khaldi(a)reactos.org> CommitDate: Mon Feb 4 13:08:28 2019 +0100 [VBSCRIPT_WINETEST] Sync with Wine Staging 4.0. CORE-15682 --- modules/rostests/winetests/vbscript/run.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/rostests/winetests/vbscript/run.c b/modules/rostests/winetests/vbscript/run.c index 6b57540fe8..191f5a79a0 100644 --- a/modules/rostests/winetests/vbscript/run.c +++ b/modules/rostests/winetests/vbscript/run.c @@ -2394,6 +2394,18 @@ static void run_tests(void) ok(FAILED(hres), "script didn't fail\n"); todo_wine CHECK_CALLED(OnScriptError); + SET_EXPECT(global_success_d); + SET_EXPECT(global_success_i); + parse_script_a("' comment\r" + "Sub testsub(arg)\r" + "If arg = 1 Then\r\r" + "Call reportSuccess()\n\n" + "End If\r\n" + "End Sub\n\r" + "Call testsub(1)"); + CHECK_CALLED(global_success_d); + CHECK_CALLED(global_success_i); + run_from_res("lang.vbs"); run_from_res("api.vbs"); run_from_res("regexp.vbs");
5 years, 10 months
1
0
0
0
[reactos] 01/01: [VBSCRIPT] Sync with Wine Staging 4.0. CORE-15682
by Amine Khaldi
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=72fa0fd6cc4d761d539bf…
commit 72fa0fd6cc4d761d539bfe056881671812cd14d6 Author: Amine Khaldi <amine.khaldi(a)reactos.org> AuthorDate: Mon Feb 4 13:07:56 2019 +0100 Commit: Amine Khaldi <amine.khaldi(a)reactos.org> CommitDate: Mon Feb 4 13:07:56 2019 +0100 [VBSCRIPT] Sync with Wine Staging 4.0. CORE-15682 --- dll/win32/vbscript/global.c | 6 +++--- dll/win32/vbscript/lex.c | 8 +++++--- dll/win32/vbscript/parser.tab.c | 2 +- dll/win32/vbscript/parser.y | 2 +- dll/win32/vbscript/vbdisp.c | 4 ++-- dll/win32/vbscript/vbscript_main.c | 2 +- media/doc/README.WINE | 2 +- 7 files changed, 14 insertions(+), 12 deletions(-) diff --git a/dll/win32/vbscript/global.c b/dll/win32/vbscript/global.c index 668a71a78b..6d26b2c6a5 100644 --- a/dll/win32/vbscript/global.c +++ b/dll/win32/vbscript/global.c @@ -338,7 +338,7 @@ static HRESULT show_msgbox(script_ctx_t *ctx, BSTR prompt, unsigned type, BSTR o return E_OUTOFMEMORY; memcpy(title_buf, vbscriptW, sizeof(vbscriptW)); - ptr = title_buf + sizeof(vbscriptW)/sizeof(WCHAR)-1; + ptr = title_buf + ARRAY_SIZE(vbscriptW)-1; *ptr++ = ':'; *ptr++ = ' '; @@ -2450,7 +2450,7 @@ HRESULT init_global(script_ctx_t *ctx) HRESULT hres; ctx->global_desc.ctx = ctx; - ctx->global_desc.builtin_prop_cnt = sizeof(global_props)/sizeof(*global_props); + ctx->global_desc.builtin_prop_cnt = ARRAY_SIZE(global_props); ctx->global_desc.builtin_props = global_props; hres = get_typeinfo(GlobalObj_tid, &ctx->global_desc.typeinfo); @@ -2466,7 +2466,7 @@ HRESULT init_global(script_ctx_t *ctx) return hres; ctx->err_desc.ctx = ctx; - ctx->err_desc.builtin_prop_cnt = sizeof(err_props)/sizeof(*err_props); + ctx->err_desc.builtin_prop_cnt = ARRAY_SIZE(err_props); ctx->err_desc.builtin_props = err_props; hres = get_typeinfo(ErrObj_tid, &ctx->err_desc.typeinfo); diff --git a/dll/win32/vbscript/lex.c b/dll/win32/vbscript/lex.c index 98b4cbb842..571854db58 100644 --- a/dll/win32/vbscript/lex.c +++ b/dll/win32/vbscript/lex.c @@ -179,7 +179,7 @@ static int check_keyword(parser_ctx_t *ctx, const WCHAR *word) static int check_keywords(parser_ctx_t *ctx) { - int min = 0, max = sizeof(keywords)/sizeof(keywords[0])-1, r, i; + int min = 0, max = ARRAY_SIZE(keywords)-1, r, i; while(min <= max) { i = (min+max)/2; @@ -383,13 +383,14 @@ static int parse_hex_literal(parser_ctx_t *ctx, LONG *ret) static void skip_spaces(parser_ctx_t *ctx) { - while(*ctx->ptr == ' ' || *ctx->ptr == '\t' || *ctx->ptr == '\r') + while(*ctx->ptr == ' ' || *ctx->ptr == '\t') ctx->ptr++; } static int comment_line(parser_ctx_t *ctx) { - ctx->ptr = strchrW(ctx->ptr, '\n'); + static const WCHAR newlineW[] = {'\n','\r',0}; + ctx->ptr = strpbrkW(ctx->ptr, newlineW); if(ctx->ptr) ctx->ptr++; else @@ -421,6 +422,7 @@ static int parse_next_token(void *lval, parser_ctx_t *ctx) switch(c) { case '\n': + case '\r': ctx->ptr++; return tNL; case '\'': diff --git a/dll/win32/vbscript/parser.tab.c b/dll/win32/vbscript/parser.tab.c index c39ff414d8..af2c044859 100644 --- a/dll/win32/vbscript/parser.tab.c +++ b/dll/win32/vbscript/parser.tab.c @@ -3414,7 +3414,7 @@ void *parser_alloc(parser_ctx_t *ctx, size_t size) HRESULT parse_script(parser_ctx_t *ctx, const WCHAR *code, const WCHAR *delimiter) { - const WCHAR html_delimiterW[] = {'<','/','s','c','r','i','p','t','>',0}; + static const WCHAR html_delimiterW[] = {'<','/','s','c','r','i','p','t','>',0}; ctx->code = ctx->ptr = code; ctx->end = ctx->code + strlenW(ctx->code); diff --git a/dll/win32/vbscript/parser.y b/dll/win32/vbscript/parser.y index e8ecf4d1fd..020109998e 100644 --- a/dll/win32/vbscript/parser.y +++ b/dll/win32/vbscript/parser.y @@ -969,7 +969,7 @@ void *parser_alloc(parser_ctx_t *ctx, size_t size) HRESULT parse_script(parser_ctx_t *ctx, const WCHAR *code, const WCHAR *delimiter) { - const WCHAR html_delimiterW[] = {'<','/','s','c','r','i','p','t','>',0}; + static const WCHAR html_delimiterW[] = {'<','/','s','c','r','i','p','t','>',0}; ctx->code = ctx->ptr = code; ctx->end = ctx->code + strlenW(ctx->code); diff --git a/dll/win32/vbscript/vbdisp.c b/dll/win32/vbscript/vbdisp.c index daed7ec47c..a836b1da7c 100644 --- a/dll/win32/vbscript/vbdisp.c +++ b/dll/win32/vbscript/vbdisp.c @@ -236,7 +236,7 @@ static HRESULT invoke_builtin(vbdisp_t *This, const builtin_prop_t *prop, WORD f return E_FAIL; } - assert(argn < sizeof(args)/sizeof(*args)); + assert(argn < ARRAY_SIZE(args)); for(i=0; i < argn; i++) { if(V_VT(dp->rgvarg+dp->cArgs-i-1) == (VT_BYREF|VT_VARIANT)) @@ -647,7 +647,7 @@ HRESULT create_procedure_disp(script_ctx_t *ctx, vbscode_t *code, IDispatch **re return E_OUTOFMEMORY; desc->ctx = ctx; - desc->builtin_prop_cnt = sizeof(procedure_props)/sizeof(*procedure_props); + desc->builtin_prop_cnt = ARRAY_SIZE(procedure_props); desc->builtin_props = procedure_props; desc->value_func = &code->main_code; diff --git a/dll/win32/vbscript/vbscript_main.c b/dll/win32/vbscript/vbscript_main.c index 7b7161c21e..786b7fb898 100644 --- a/dll/win32/vbscript/vbscript_main.c +++ b/dll/win32/vbscript/vbscript_main.c @@ -87,7 +87,7 @@ static void release_typelib(void) if(!typelib) return; - for(i=0; i < sizeof(typeinfos)/sizeof(*typeinfos); i++) { + for(i = 0; i < ARRAY_SIZE(typeinfos); i++) { if(typeinfos[i]) ITypeInfo_Release(typeinfos[i]); } diff --git a/media/doc/README.WINE b/media/doc/README.WINE index 723f86c8eb..78330c4654 100644 --- a/media/doc/README.WINE +++ b/media/doc/README.WINE @@ -191,7 +191,7 @@ reactos/dll/win32/url # Synced to WineStaging-3.3 reactos/dll/win32/urlmon # Synced to WineStaging-4.0 reactos/dll/win32/usp10 # Synced to WineStaging-4.0 reactos/dll/win32/uxtheme # Forked -reactos/dll/win32/vbscript # Synced to WineStaging-3.9 +reactos/dll/win32/vbscript # Synced to WineStaging-4.0 reactos/dll/win32/version # Synced to WineStaging-3.9 reactos/dll/win32/vssapi # Synced to WineStaging-2.9 reactos/dll/win32/wbemdisp # Synced to WineStaging-3.3
5 years, 10 months
1
0
0
0
[reactos] 01/01: [UXTHEME_WINETEST] Sync with Wine Staging 4.0. CORE-15682
by Amine Khaldi
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4df86f782fe1604564c24…
commit 4df86f782fe1604564c24d264ff8569d58976b55 Author: Amine Khaldi <amine.khaldi(a)reactos.org> AuthorDate: Mon Feb 4 13:07:25 2019 +0100 Commit: Amine Khaldi <amine.khaldi(a)reactos.org> CommitDate: Mon Feb 4 13:07:25 2019 +0100 [UXTHEME_WINETEST] Sync with Wine Staging 4.0. CORE-15682 --- modules/rostests/winetests/uxtheme/system.c | 50 +++++++++-------------------- 1 file changed, 15 insertions(+), 35 deletions(-) diff --git a/modules/rostests/winetests/uxtheme/system.c b/modules/rostests/winetests/uxtheme/system.c index d52927935d..1cfafb30e2 100644 --- a/modules/rostests/winetests/uxtheme/system.c +++ b/modules/rostests/winetests/uxtheme/system.c @@ -77,7 +77,6 @@ static void test_GetWindowTheme(void) { HTHEME hTheme; HWND hWnd; - BOOL bDestroyed; SetLastError(0xdeadbeef); hTheme = GetWindowTheme(NULL); @@ -89,7 +88,7 @@ static void test_GetWindowTheme(void) /* Only do the bare minimum to get a valid hwnd */ hWnd = CreateWindowExA(0, "static", "", WS_POPUP, 0,0,100,100,0, 0, 0, NULL); - if (!hWnd) return; + ok(hWnd != NULL, "Failed to create a test window.\n"); SetLastError(0xdeadbeef); hTheme = GetWindowTheme(hWnd); @@ -98,17 +97,13 @@ static void test_GetWindowTheme(void) "Expected 0xdeadbeef, got 0x%08x\n", GetLastError()); - bDestroyed = DestroyWindow(hWnd); - if (!bDestroyed) - trace("Window %p couldn't be destroyed : 0x%08x\n", - hWnd, GetLastError()); + DestroyWindow(hWnd); } static void test_SetWindowTheme(void) { HRESULT hRes; HWND hWnd; - BOOL bDestroyed; hRes = SetWindowTheme(NULL, NULL, NULL); todo_wine @@ -116,15 +111,12 @@ todo_wine /* Only do the bare minimum to get a valid hwnd */ hWnd = CreateWindowExA(0, "static", "", WS_POPUP, 0,0,100,100,0, 0, 0, NULL); - if (!hWnd) return; + ok(hWnd != NULL, "Failed to create a test window.\n"); hRes = SetWindowTheme(hWnd, NULL, NULL); ok( hRes == S_OK, "Expected S_OK, got 0x%08x\n", hRes); - bDestroyed = DestroyWindow(hWnd); - if (!bDestroyed) - trace("Window %p couldn't be destroyed : 0x%08x\n", - hWnd, GetLastError()); + DestroyWindow(hWnd); } static void test_OpenThemeData(void) @@ -133,7 +125,6 @@ static void test_OpenThemeData(void) HWND hWnd; BOOL bThemeActive; HRESULT hRes; - BOOL bDestroyed; BOOL bTPDefined; WCHAR szInvalidClassList[] = {'D','E','A','D','B','E','E','F', 0 }; @@ -278,10 +269,7 @@ static void test_OpenThemeData(void) GetLastError()); } - bDestroyed = DestroyWindow(hWnd); - if (!bDestroyed) - trace("Window %p couldn't be destroyed : 0x%08x\n", - hWnd, GetLastError()); + DestroyWindow(hWnd); } static void test_OpenThemeDataEx(void) @@ -289,7 +277,6 @@ static void test_OpenThemeDataEx(void) HTHEME hTheme; HWND hWnd; BOOL bThemeActive; - BOOL bDestroyed; WCHAR szInvalidClassList[] = {'D','E','A','D','B','E','E','F', 0 }; WCHAR szButtonClassList[] = {'B','u','t','t','o','n', 0 }; @@ -423,10 +410,7 @@ static void test_OpenThemeDataEx(void) "Expected ERROR_SUCCESS, got 0x%08x\n", GetLastError()); - bDestroyed = DestroyWindow(hWnd); - if (!bDestroyed) - trace("Window %p couldn't be destroyed : 0x%08x\n", - hWnd, GetLastError()); + DestroyWindow(hWnd); } static void test_GetCurrentThemeName(void) @@ -463,9 +447,8 @@ static void test_GetCurrentThemeName(void) ok( hRes == E_PROP_ID_UNSUPPORTED, "Expected E_PROP_ID_UNSUPPORTED, got 0x%08x\n", hRes); /* The same is true if the number of characters is too small for Color and/or Size */ - hRes = GetCurrentThemeName(currentTheme, sizeof(currentTheme) / sizeof(WCHAR), - currentColor, 2, - currentSize, sizeof(currentSize) / sizeof(WCHAR)); + hRes = GetCurrentThemeName(currentTheme, ARRAY_SIZE(currentTheme), currentColor, 2, + currentSize, ARRAY_SIZE(currentSize)); if (bThemeActive) todo_wine ok(hRes == E_NOT_SUFFICIENT_BUFFER || @@ -475,7 +458,7 @@ static void test_GetCurrentThemeName(void) ok( hRes == E_PROP_ID_UNSUPPORTED, "Expected E_PROP_ID_UNSUPPORTED, got 0x%08x\n", hRes); /* Given number of characters is correct */ - hRes = GetCurrentThemeName(currentTheme, sizeof(currentTheme) / sizeof(WCHAR), NULL, 0, NULL, 0); + hRes = GetCurrentThemeName(currentTheme, ARRAY_SIZE(currentTheme), NULL, 0, NULL, 0); if (bThemeActive) ok( hRes == S_OK, "Expected S_OK, got 0x%08x\n", hRes); else @@ -491,26 +474,23 @@ static void test_GetCurrentThemeName(void) "Expected E_PROP_ID_UNSUPPORTED, got 0x%08x\n", hRes); /* The too large case is only for the theme name, not for color name or size name */ - hRes = GetCurrentThemeName(currentTheme, sizeof(currentTheme) / sizeof(WCHAR), - currentColor, sizeof(currentTheme), - currentSize, sizeof(currentSize) / sizeof(WCHAR)); + hRes = GetCurrentThemeName(currentTheme, ARRAY_SIZE(currentTheme), currentColor, + sizeof(currentTheme), currentSize, ARRAY_SIZE(currentSize)); if (bThemeActive) ok( hRes == S_OK, "Expected S_OK, got 0x%08x\n", hRes); else ok( hRes == E_PROP_ID_UNSUPPORTED, "Expected E_PROP_ID_UNSUPPORTED, got 0x%08x\n", hRes); - hRes = GetCurrentThemeName(currentTheme, sizeof(currentTheme) / sizeof(WCHAR), - currentColor, sizeof(currentTheme) / sizeof(WCHAR), - currentSize, sizeof(currentSize)); + hRes = GetCurrentThemeName(currentTheme, ARRAY_SIZE(currentTheme), currentColor, + ARRAY_SIZE(currentTheme), currentSize, sizeof(currentSize)); if (bThemeActive) ok( hRes == S_OK, "Expected S_OK, got 0x%08x\n", hRes); else ok( hRes == E_PROP_ID_UNSUPPORTED, "Expected E_PROP_ID_UNSUPPORTED, got 0x%08x\n", hRes); /* Correct call */ - hRes = GetCurrentThemeName(currentTheme, sizeof(currentTheme) / sizeof(WCHAR), - currentColor, sizeof(currentColor) / sizeof(WCHAR), - currentSize, sizeof(currentSize) / sizeof(WCHAR)); + hRes = GetCurrentThemeName(currentTheme, ARRAY_SIZE(currentTheme), currentColor, + ARRAY_SIZE(currentColor), currentSize, ARRAY_SIZE(currentSize)); if (bThemeActive) ok( hRes == S_OK, "Expected S_OK, got 0x%08x\n", hRes); else
5 years, 10 months
1
0
0
0
[reactos] 01/01: [USP10_WINETEST] Sync with Wine Staging 4.0. CORE-15682
by Amine Khaldi
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f8629c57a959c44e03c40…
commit f8629c57a959c44e03c40e8ac92b93b83193ed36 Author: Amine Khaldi <amine.khaldi(a)reactos.org> AuthorDate: Mon Feb 4 13:06:57 2019 +0100 Commit: Amine Khaldi <amine.khaldi(a)reactos.org> CommitDate: Mon Feb 4 13:06:57 2019 +0100 [USP10_WINETEST] Sync with Wine Staging 4.0. CORE-15682 --- modules/rostests/winetests/usp10/usp10.c | 64 ++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 7 deletions(-) diff --git a/modules/rostests/winetests/usp10/usp10.c b/modules/rostests/winetests/usp10/usp10.c index aa26997112..e907c8c40a 100644 --- a/modules/rostests/winetests/usp10/usp10.c +++ b/modules/rostests/winetests/usp10/usp10.c @@ -3349,7 +3349,7 @@ static void test_ScriptCacheGetHeight(HDC hdc) height = 123; hr = ScriptCacheGetHeight(hdc, NULL, &height); - ok(hr == E_INVALIDARG, "Uexpected hr %#x.\n", hr); + ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr); ok(height == 123, "Unexpected height.\n"); memset(&tm, 0, sizeof(tm)); @@ -3403,26 +3403,76 @@ static void test_ScriptGetGlyphABCWidth(HDC hdc) { HRESULT hr; SCRIPT_CACHE sc = NULL; - ABC abc; + HFONT hfont, prev_hfont; + TEXTMETRICA tm; + ABC abc, abc2; + LOGFONTA lf; + WORD glyph; + INT width; + DWORD ret; - hr = ScriptGetGlyphABCWidth(NULL, NULL, 'a', NULL); + glyph = 0; + ret = GetGlyphIndicesA(hdc, "a", 1, &glyph, 0); + ok(ret == 1, "Failed to get glyph index.\n"); + ok(glyph != 0, "Unexpected glyph index.\n"); + + hr = ScriptGetGlyphABCWidth(NULL, NULL, glyph, NULL); ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08x\n", hr); - hr = ScriptGetGlyphABCWidth(NULL, &sc, 'a', NULL); + hr = ScriptGetGlyphABCWidth(NULL, &sc, glyph, NULL); ok(broken(hr == E_PENDING) || hr == E_INVALIDARG, /* WIN7 */ "expected E_INVALIDARG, got 0x%08x\n", hr); - hr = ScriptGetGlyphABCWidth(NULL, &sc, 'a', &abc); + hr = ScriptGetGlyphABCWidth(NULL, &sc, glyph, &abc); ok(hr == E_PENDING, "expected E_PENDING, got 0x%08x\n", hr); if (0) { /* crashes on WinXP */ - hr = ScriptGetGlyphABCWidth(hdc, &sc, 'a', NULL); + hr = ScriptGetGlyphABCWidth(hdc, &sc, glyph, NULL); ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08x\n", hr); } - hr = ScriptGetGlyphABCWidth(hdc, &sc, 'a', &abc); + hr = ScriptGetGlyphABCWidth(hdc, &sc, glyph, &abc); ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr); + ok(abc.abcB != 0, "Unexpected width.\n"); + + ret = GetCharABCWidthsI(hdc, glyph, 1, NULL, &abc2); + ok(ret, "Failed to get char width.\n"); + ok(!memcmp(&abc, &abc2, sizeof(abc)), "Unexpected width.\n"); + + ScriptFreeCache(&sc); + + /* Bitmap font */ + memset(&lf, 0, sizeof(lf)); + strcpy(lf.lfFaceName, "System"); + lf.lfHeight = 20; + + hfont = CreateFontIndirectA(&lf); + prev_hfont = SelectObject(hdc, hfont); + + ret = GetTextMetricsA(hdc, &tm); + ok(ret, "Failed to get text metrics.\n"); + ok(!(tm.tmPitchAndFamily & TMPF_TRUETYPE), "Unexpected TrueType font.\n"); + ok(tm.tmPitchAndFamily & TMPF_FIXED_PITCH, "Unexpected fixed pitch font.\n"); + + glyph = 0; + ret = GetGlyphIndicesA(hdc, "i", 1, &glyph, 0); + ok(ret == 1, "Failed to get glyph index.\n"); + ok(glyph != 0, "Unexpected glyph index.\n"); + + sc = NULL; + hr = ScriptGetGlyphABCWidth(hdc, &sc, glyph, &abc); + ok(hr == S_OK, "Failed to get glyph width, hr %#x.\n", hr); + ok(abc.abcB != 0, "Unexpected width.\n"); + + ret = GetCharWidthI(hdc, glyph, 1, NULL, &width); + ok(ret, "Failed to get char width.\n"); + abc2.abcA = abc2.abcC = 0; + abc2.abcB = width; + ok(!memcmp(&abc, &abc2, sizeof(abc)), "Unexpected width.\n"); + + SelectObject(hdc, prev_hfont); + DeleteObject(hfont); ScriptFreeCache(&sc); }
5 years, 10 months
1
0
0
0
[reactos] 01/01: [USP10] Sync with Wine Staging 4.0. CORE-15682
by Amine Khaldi
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c0b82105b55a9f8bd1501…
commit c0b82105b55a9f8bd1501fc2a1ba81f4b5d9b681 Author: Amine Khaldi <amine.khaldi(a)reactos.org> AuthorDate: Mon Feb 4 13:06:21 2019 +0100 Commit: Amine Khaldi <amine.khaldi(a)reactos.org> CommitDate: Mon Feb 4 13:06:21 2019 +0100 [USP10] Sync with Wine Staging 4.0. CORE-15682 --- dll/win32/usp10/bracket.c | 2 +- dll/win32/usp10/indicsyllable.c | 90 +++++++------- dll/win32/usp10/linebreak.c | 256 +++++++++++++++++++-------------------- dll/win32/usp10/mirror.c | 95 ++++++++++----- dll/win32/usp10/shaping.c | 102 ++++++++-------- dll/win32/usp10/usp10_internal.h | 4 - media/doc/README.WINE | 2 +- 7 files changed, 292 insertions(+), 259 deletions(-) diff --git a/dll/win32/usp10/bracket.c b/dll/win32/usp10/bracket.c index 1509d572c9..16df6381a6 100644 --- a/dll/win32/usp10/bracket.c +++ b/dll/win32/usp10/bracket.c @@ -1,5 +1,5 @@ /* Unicode Bidirectional Bracket table */ -/* generated from
http://www.unicode.org/Public/10.0.0/ucd/BidiBrackets.txt
*/ +/* generated from
http://www.unicode.org/Public/11.0.0/ucd/BidiBrackets.txt
*/ /* DO NOT EDIT!! */ #include "wine/unicode.h" diff --git a/dll/win32/usp10/indicsyllable.c b/dll/win32/usp10/indicsyllable.c index dbdac5d4ae..fba732bc14 100644 --- a/dll/win32/usp10/indicsyllable.c +++ b/dll/win32/usp10/indicsyllable.c @@ -1,11 +1,11 @@ /* Unicode Indic Syllabic Category */ -/* generated from
http://www.unicode.org/Public/10.0.0/ucd/IndicSyllabicCategory.txt
*/ -/* and from
http://www.unicode.org/Public/10.0.0/ucd/IndicPositionalCategory.txt
*/ +/* generated from
http://www.unicode.org/Public/11.0.0/ucd/IndicSyllabicCategory.txt
*/ +/* and from
http://www.unicode.org/Public/11.0.0/ucd/IndicPositionalCategory.txt
*/ /* DO NOT EDIT!! */ #include "wine/unicode.h" -const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] = +const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3328] = { /* level 1 offsets */ 0x0100, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, @@ -49,42 +49,42 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] = 0x0350, 0x0360, 0x0370, 0x0380, 0x0390, 0x03a0, 0x0330, 0x03b0, 0x03c0, 0x0360, 0x0370, 0x03d0, 0x03e0, 0x03f0, 0x0400, 0x0410, 0x0420, 0x0430, 0x0370, 0x0440, 0x0450, 0x0270, 0x0330, 0x0460, - 0x0350, 0x0360, 0x0370, 0x0470, 0x0480, 0x0490, 0x0330, 0x04a0, - 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0500, 0x0400, 0x0270, - 0x0510, 0x0520, 0x0370, 0x0530, 0x0540, 0x0550, 0x0330, 0x0270, - 0x0560, 0x0520, 0x0370, 0x0570, 0x0580, 0x0590, 0x0330, 0x05a0, - 0x05b0, 0x0520, 0x02f0, 0x05c0, 0x05d0, 0x05e0, 0x0330, 0x05f0, - 0x0600, 0x0610, 0x02f0, 0x0620, 0x0630, 0x0640, 0x0400, 0x0650, - 0x0660, 0x02f0, 0x0670, 0x0680, 0x0690, 0x0290, 0x0270, 0x0270, - 0x06a0, 0x06b0, 0x06c0, 0x06d0, 0x06e0, 0x06f0, 0x0270, 0x0270, - 0x0270, 0x0700, 0x0710, 0x0720, 0x0730, 0x02f0, 0x0740, 0x0750, - 0x0760, 0x0770, 0x0780, 0x0790, 0x07a0, 0x0270, 0x0270, 0x0270, - 0x02f0, 0x02f0, 0x07b0, 0x07c0, 0x07d0, 0x07e0, 0x07f0, 0x0800, - 0x0810, 0x0820, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, - 0x0830, 0x0840, 0x0850, 0x0840, 0x0850, 0x0860, 0x0830, 0x0870, - 0x02f0, 0x02f0, 0x0880, 0x0890, 0x08a0, 0x08b0, 0x0290, 0x0270, - 0x08c0, 0x0670, 0x08d0, 0x08e0, 0x0400, 0x02f0, 0x08f0, 0x0900, - 0x02f0, 0x02f0, 0x0910, 0x0920, 0x0930, 0x0290, 0x0270, 0x0270, - 0x02f0, 0x0940, 0x02f0, 0x02f0, 0x0950, 0x0960, 0x0970, 0x0980, + 0x0470, 0x0360, 0x0370, 0x0480, 0x0490, 0x04a0, 0x0330, 0x04b0, + 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0500, 0x0510, 0x0400, 0x0270, + 0x0520, 0x0530, 0x0370, 0x0540, 0x0550, 0x0560, 0x0330, 0x0270, + 0x0570, 0x0530, 0x0370, 0x0580, 0x0590, 0x05a0, 0x0330, 0x05b0, + 0x05c0, 0x0530, 0x02f0, 0x05d0, 0x05e0, 0x05f0, 0x0330, 0x0600, + 0x0610, 0x0620, 0x02f0, 0x0630, 0x0640, 0x0650, 0x0400, 0x0660, + 0x0670, 0x02f0, 0x0680, 0x0690, 0x06a0, 0x0290, 0x0270, 0x0270, + 0x06b0, 0x06c0, 0x06d0, 0x06e0, 0x06f0, 0x0700, 0x0270, 0x0270, + 0x0270, 0x0710, 0x0720, 0x0730, 0x0740, 0x02f0, 0x0750, 0x0760, + 0x0770, 0x0780, 0x0790, 0x07a0, 0x07b0, 0x0270, 0x0270, 0x0270, + 0x02f0, 0x02f0, 0x07c0, 0x07d0, 0x07e0, 0x07f0, 0x0800, 0x0810, + 0x0820, 0x0830, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, + 0x0840, 0x0850, 0x0860, 0x0850, 0x0860, 0x0870, 0x0840, 0x0880, + 0x02f0, 0x02f0, 0x0890, 0x08a0, 0x08b0, 0x08c0, 0x0290, 0x0270, + 0x08d0, 0x0680, 0x08e0, 0x08f0, 0x0400, 0x02f0, 0x0900, 0x0910, + 0x02f0, 0x02f0, 0x0920, 0x0930, 0x0940, 0x0290, 0x0270, 0x0270, + 0x02f0, 0x0950, 0x02f0, 0x02f0, 0x0960, 0x0970, 0x0980, 0x0990, 0x0290, 0x0290, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, - 0x0990, 0x0850, 0x02f0, 0x09a0, 0x09b0, 0x0290, 0x09c0, 0x09d0, - 0x09e0, 0x02f0, 0x09f0, 0x0a00, 0x02f0, 0x02f0, 0x0a10, 0x0a20, - 0x02f0, 0x02f0, 0x0a30, 0x0a40, 0x0a50, 0x0270, 0x0270, 0x0270, - 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0a60, 0x0a70, 0x0a80, + 0x09a0, 0x0860, 0x02f0, 0x09b0, 0x09c0, 0x0290, 0x09d0, 0x09e0, + 0x09f0, 0x02f0, 0x0a00, 0x0a10, 0x02f0, 0x02f0, 0x0a20, 0x0a30, + 0x02f0, 0x02f0, 0x0a40, 0x0a50, 0x0a60, 0x0270, 0x0270, 0x0270, + 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0a70, 0x0a80, 0x0a90, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, - 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0a90, - 0x0aa0, 0x0ab0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0ac0, - 0x0ad0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, + 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0aa0, + 0x0ab0, 0x0ac0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0ad0, + 0x0ae0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, - 0x0270, 0x0270, 0x0270, 0x0270, 0x0ae0, 0x0270, 0x0270, 0x0270, - 0x0af0, 0x02f0, 0x0b00, 0x0270, 0x02f0, 0x0b10, 0x0b20, 0x0b30, - 0x0b40, 0x0b50, 0x02f0, 0x0b60, 0x0b70, 0x0290, 0x0b80, 0x0b90, - 0x0ba0, 0x02f0, 0x0bb0, 0x02f0, 0x0bc0, 0x0bd0, 0x0270, 0x0270, - 0x0be0, 0x02f0, 0x02f0, 0x0bf0, 0x0c00, 0x0290, 0x0c10, 0x0c20, - 0x0c30, 0x02f0, 0x0c40, 0x0c50, 0x0c60, 0x0290, 0x02f0, 0x0c70, - 0x02f0, 0x02f0, 0x02f0, 0x0c80, 0x0c90, 0x0270, 0x0ca0, 0x0cb0, + 0x0270, 0x0270, 0x0270, 0x0270, 0x0af0, 0x0270, 0x0270, 0x0270, + 0x0b00, 0x02f0, 0x0b10, 0x0270, 0x02f0, 0x0b20, 0x0b30, 0x0b40, + 0x0b50, 0x0b60, 0x02f0, 0x0b70, 0x0b80, 0x0290, 0x0b90, 0x0ba0, + 0x0bb0, 0x02f0, 0x0bc0, 0x02f0, 0x0bd0, 0x0be0, 0x0270, 0x0270, + 0x0bf0, 0x02f0, 0x02f0, 0x0c00, 0x0c10, 0x0290, 0x0c20, 0x0c30, + 0x0c40, 0x02f0, 0x0c50, 0x0c60, 0x0c70, 0x0290, 0x02f0, 0x0c80, + 0x02f0, 0x02f0, 0x02f0, 0x0c90, 0x0ca0, 0x0270, 0x0cb0, 0x0cc0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, - 0x0270, 0x0270, 0x0270, 0x0270, 0x0cc0, 0x0cd0, 0x0ce0, 0x0290, + 0x0270, 0x0270, 0x0270, 0x0270, 0x0cd0, 0x0ce0, 0x0cf0, 0x0290, /* values */ 0x5f00, 0x9c00, 0x9500, 0x9500, 0x8600, 0x8600, 0x8600, 0x8600, 0x7e00, 0x6e00, 0x6c00, 0x6000, 0x5100, 0x3c00, 0x2600, 0x1900, @@ -116,7 +116,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] = 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, - 0x0000, 0x0501, 0x0101, 0x0102, 0x0000, 0x0006, 0x0006, 0x0006, + 0x0009, 0x0501, 0x0101, 0x0102, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0000, 0x0006, 0x0006, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, @@ -129,14 +129,14 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] = 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0107, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a, 0x000a, 0x0000, 0x000a, 0x000a, 0x000a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0521, 0x0000, 0x0000, 0x0501, 0x0501, 0x0102, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x000a, 0x0000, 0x000a, 0x000a, 0x0000, 0x000a, 0x000a, 0x0000, 0x000a, 0x000a, 0x0000, 0x0000, 0x0604, 0x0000, 0x0107, 0x0207, 0x0107, 0x0607, 0x0607, 0x0000, 0x0000, 0x0000, 0x0000, 0x0507, 0x0507, 0x0000, 0x0000, 0x0507, 0x0507, 0x0605, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0019, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a, 0x000a, 0x000a, 0x000a, 0x0000, 0x000a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, @@ -152,6 +152,8 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] = 0x0507, 0x0007, 0x0000, 0x0107, 0x0107, 0x0605, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a, 0x0519, 0x0519, 0x0519, 0x0504, 0x0504, 0x0504, + 0x0000, 0x0501, 0x0101, 0x0102, 0x0000, 0x0006, 0x0006, 0x0006, + 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0006, 0x000a, 0x0000, 0x000a, 0x000a, 0x0000, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0000, 0x0000, 0x0604, 0x0003, 0x0107, 0x0507, 0x0107, 0x0607, 0x0607, 0x0607, 0x0607, 0x0000, 0x0000, 0x0207, @@ -172,7 +174,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] = 0x0207, 0x0000, 0x0407, 0x0407, 0x0407, 0x0505, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0107, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0501, 0x0101, 0x0101, 0x0102, 0x0000, 0x0006, 0x0006, 0x0006, + 0x0501, 0x0101, 0x0101, 0x0102, 0x0501, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006, 0x0006, 0x0006, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, @@ -261,7 +263,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] = 0x0607, 0x0207, 0x0507, 0x0507, 0x0507, 0x0507, 0x0501, 0x0613, 0x0102, 0x0017, 0x0516, 0x010e, 0x000e, 0x060e, 0x060e, 0x000a, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, - 0x001d, 0x001d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0009, 0x0000, + 0x001d, 0x001d, 0x0000, 0x0009, 0x0000, 0x0000, 0x0009, 0x0000, 0x000a, 0x000a, 0x0006, 0x0006, 0x0006, 0x0006, 0x0107, 0x0107, 0x0607, 0x0607, 0x000a, 0x000a, 0x000a, 0x000a, 0x060e, 0x060e, 0x060e, 0x000a, 0x0107, 0x0113, 0x0113, 0x000a, 0x000a, 0x0107, @@ -311,7 +313,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] = 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x000a, 0x000a, 0x020e, 0x060e, 0x010d, - 0x050f, 0x050f, 0x050c, 0x060d, 0x060d, 0x060d, 0x060d, 0x0000, + 0x050f, 0x050f, 0x0523, 0x060d, 0x060d, 0x060d, 0x060d, 0x0000, 0x0017, 0x0107, 0x0507, 0x0107, 0x0107, 0x0507, 0x0507, 0x0507, 0x0507, 0x0607, 0x0607, 0x0507, 0x0607, 0x0107, 0x0207, 0x0207, 0x0207, 0x0207, 0x0207, 0x0507, 0x0501, 0x0513, 0x0513, 0x0513, @@ -346,7 +348,7 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] = 0x0619, 0x0619, 0x0519, 0x0519, 0x0619, 0x0619, 0x0619, 0x0619, 0x0519, 0x0119, 0x0d00, 0x0d00, 0x0d00, 0x0d00, 0x0d00, 0x0d00, 0x0d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0600, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0002, 0x0002, 0x0519, 0x0000, 0x0000, 0x0119, + 0x0000, 0x0000, 0x0002, 0x0002, 0x0519, 0x001f, 0x001f, 0x0119, 0x0019, 0x0019, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0521, 0x0000, 0x0000, 0x0000, 0x0000, @@ -374,14 +376,14 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3312] = 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, - 0x000a, 0x000a, 0x000a, 0x000a, 0x010f, 0x0107, 0x0107, 0x0107, + 0x000a, 0x000a, 0x000a, 0x000a, 0x010e, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0605, 0x0501, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0507, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, diff --git a/dll/win32/usp10/linebreak.c b/dll/win32/usp10/linebreak.c index 56bde66e9e..6d92c4465b 100644 --- a/dll/win32/usp10/linebreak.c +++ b/dll/win32/usp10/linebreak.c @@ -1,10 +1,10 @@ /* Unicode Line Break Properties */ -/* generated from
http://www.unicode.org/Public/10.0.0/ucd/LineBreak.txt
*/ +/* generated from
http://www.unicode.org/Public/11.0.0/ucd/LineBreak.txt
*/ /* DO NOT EDIT!! */ #include "wine/unicode.h" -const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = +const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7232] = { /* level 1 offsets */ 0x0100, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170, @@ -50,7 +50,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x0680, 0x05b0, 0x0690, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x06a0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, - 0x05b0, 0x05b0, 0x05b0, 0x06b0, 0x05b0, 0x06c0, 0x06b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x06b0, 0x05b0, 0x06c0, 0x05b0, 0x05b0, 0x06d0, 0x06e0, 0x0580, 0x06f0, 0x0700, 0x0710, 0x0720, 0x0730, 0x0740, 0x0750, 0x05b0, 0x05b0, 0x0760, 0x0580, 0x0770, 0x0780, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0790, 0x07a0, 0x07b0, @@ -66,122 +66,122 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0aa0, 0x0ab0, 0x09b0, 0x0ac0, 0x0ad0, 0x0ae0, 0x0910, 0x0af0, 0x0b00, 0x0b10, 0x0950, 0x0b20, 0x0b30, 0x0ae0, 0x0910, 0x0b40, 0x0b00, 0x0b50, 0x0950, 0x0b60, - 0x0ad0, 0x0ae0, 0x05b0, 0x0b70, 0x0b80, 0x0b90, 0x0950, 0x0ba0, - 0x0bb0, 0x0bc0, 0x05b0, 0x0bd0, 0x0be0, 0x0bf0, 0x09b0, 0x0c00, - 0x0c10, 0x0c20, 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0870, 0x0870, - 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0ca0, 0x0cb0, 0x0870, 0x0870, - 0x0cc0, 0x0cd0, 0x07b0, 0x0ce0, 0x0cf0, 0x05b0, 0x0d00, 0x0d10, - 0x0d20, 0x0d30, 0x0580, 0x0d40, 0x0d50, 0x0d60, 0x0870, 0x0870, - 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0d70, 0x0c20, 0x0c20, 0x0c20, - 0x0c20, 0x0d80, 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0, - 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0db0, 0x0db0, - 0x0db0, 0x0db0, 0x0dc0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0de0, 0x0df0, 0x05b0, 0x05b0, - 0x0de0, 0x05b0, 0x05b0, 0x0e00, 0x0e10, 0x0e20, 0x05b0, 0x05b0, - 0x05b0, 0x0e10, 0x05b0, 0x05b0, 0x05b0, 0x0e30, 0x0e40, 0x0d00, - 0x05b0, 0x0e50, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e60, - 0x0e70, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x0b70, 0x0ae0, 0x05b0, 0x0b80, 0x0b90, 0x0ba0, 0x0950, 0x0bb0, + 0x0bc0, 0x0bd0, 0x05b0, 0x0be0, 0x0bf0, 0x0c00, 0x09b0, 0x0c10, + 0x0c20, 0x0c30, 0x0c30, 0x0c40, 0x0c50, 0x0c60, 0x0870, 0x0870, + 0x0c70, 0x0c80, 0x0c90, 0x0ca0, 0x0cb0, 0x0cc0, 0x0870, 0x0870, + 0x0cd0, 0x0ce0, 0x07b0, 0x0cf0, 0x0d00, 0x05b0, 0x0d10, 0x0d20, + 0x0d30, 0x0d40, 0x0580, 0x0d50, 0x0d60, 0x0d70, 0x0870, 0x0870, + 0x0c30, 0x0c30, 0x0c30, 0x0c30, 0x0d80, 0x0c30, 0x0c30, 0x0c30, + 0x0c30, 0x0d90, 0x05b0, 0x05b0, 0x0da0, 0x05b0, 0x05b0, 0x05b0, + 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0dc0, 0x0dc0, + 0x0dc0, 0x0dc0, 0x0dd0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, 0x0de0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0df0, 0x0e00, 0x05b0, 0x05b0, + 0x0df0, 0x05b0, 0x05b0, 0x0e10, 0x0e20, 0x0e30, 0x05b0, 0x05b0, + 0x05b0, 0x0e20, 0x05b0, 0x05b0, 0x05b0, 0x0e40, 0x0e50, 0x0d10, + 0x05b0, 0x0e60, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e70, + 0x0e80, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, - 0x0e70, 0x0e80, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e90, 0x0ea0, - 0x0eb0, 0x0ec0, 0x05b0, 0x0ed0, 0x05b0, 0x0ee0, 0x0eb0, 0x0ef0, - 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0f00, 0x0f10, 0x0e50, - 0x0f20, 0x0f10, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0a50, - 0x0f30, 0x05b0, 0x0f40, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0f50, - 0x05b0, 0x0840, 0x0f60, 0x0f60, 0x0f70, 0x0c20, 0x0f80, 0x0f90, - 0x0c20, 0x0c20, 0x0fa0, 0x0c20, 0x0fb0, 0x0fc0, 0x05b0, 0x05b0, - 0x05b0, 0x0fd0, 0x0c20, 0x0c20, 0x0c20, 0x0fe0, 0x0c20, 0x0ff0, - 0x0f10, 0x0f10, 0x0f80, 0x1000, 0x0870, 0x0870, 0x0870, 0x0870, - 0x1010, 0x05b0, 0x05b0, 0x1020, 0x1030, 0x1040, 0x1050, 0x1060, - 0x1070, 0x05b0, 0x1080, 0x07b0, 0x05b0, 0x05b0, 0x07f0, 0x1090, - 0x05b0, 0x05b0, 0x1020, 0x10a0, 0x10b0, 0x07b0, 0x05b0, 0x10c0, - 0x0ea0, 0x0870, 0x0870, 0x0870, 0x0a50, 0x10d0, 0x10e0, 0x10f0, + 0x0e80, 0x0e90, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0ea0, 0x0eb0, + 0x0ec0, 0x0ed0, 0x05b0, 0x0ee0, 0x05b0, 0x0ef0, 0x0ec0, 0x0f00, + 0x0c30, 0x0c30, 0x0c30, 0x0c30, 0x0c30, 0x0f10, 0x0f20, 0x0e60, + 0x0f30, 0x0f20, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0eb0, + 0x0f40, 0x05b0, 0x0f50, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0f60, + 0x05b0, 0x0840, 0x0f70, 0x0f70, 0x0f80, 0x0c30, 0x0f90, 0x0fa0, + 0x0c30, 0x0c30, 0x0fb0, 0x0c30, 0x0fc0, 0x0fd0, 0x05b0, 0x05b0, + 0x05b0, 0x0fe0, 0x0c30, 0x0c30, 0x0c30, 0x0ff0, 0x0c30, 0x1000, + 0x0f20, 0x0f20, 0x0f90, 0x1010, 0x0870, 0x0870, 0x0870, 0x0870, + 0x1020, 0x05b0, 0x05b0, 0x1030, 0x1040, 0x1050, 0x1060, 0x1070, + 0x1080, 0x05b0, 0x1090, 0x07b0, 0x05b0, 0x05b0, 0x07f0, 0x10a0, + 0x05b0, 0x05b0, 0x1030, 0x10b0, 0x10c0, 0x07b0, 0x05b0, 0x10d0, + 0x0eb0, 0x05b0, 0x05b0, 0x10e0, 0x0a50, 0x10f0, 0x1100, 0x1110, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0580, 0x0580, 0x0580, 0x1100, - 0x05b0, 0x0e60, 0x05b0, 0x05b0, 0x0e60, 0x1110, 0x05b0, 0x1120, - 0x05b0, 0x05b0, 0x05b0, 0x1130, 0x1130, 0x1140, 0x05b0, 0x1150, - 0x1160, 0x1170, 0x1180, 0x1190, 0x11a0, 0x11b0, 0x11c0, 0x11d0, - 0x11e0, 0x0d00, 0x11f0, 0x1200, 0x1210, 0x0580, 0x0580, 0x1220, - 0x1230, 0x1240, 0x1250, 0x05b0, 0x05b0, 0x1260, 0x1270, 0x1280, - 0x1290, 0x1280, 0x05b0, 0x05b0, 0x05b0, 0x12a0, 0x05b0, 0x05b0, - 0x12b0, 0x12c0, 0x12d0, 0x12e0, 0x12f0, 0x1300, 0x1310, 0x05b0, - 0x1320, 0x1330, 0x1340, 0x1350, 0x05b0, 0x05b0, 0x1360, 0x05b0, - 0x1370, 0x1380, 0x1390, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x13a0, - 0x05b0, 0x05b0, 0x13b0, 0x0870, 0x0860, 0x0870, 0x13c0, 0x13c0, - 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x13d0, - 0x13c0, 0x13c0, 0x13c0, 0x13c0, 0x1270, 0x13c0, 0x13c0, 0x13e0, - 0x13c0, 0x13f0, 0x1400, 0x1410, 0x1420, 0x1430, 0x1440, 0x05b0, - 0x1450, 0x1460, 0x05b0, 0x1470, 0x1480, 0x05b0, 0x1490, 0x14a0, - 0x05b0, 0x14b0, 0x05b0, 0x14c0, 0x14d0, 0x14e0, 0x14f0, 0x1500, - 0x1510, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1520, 0x1530, 0x1540, - 0x13c0, 0x1550, 0x05b0, 0x05b0, 0x1560, 0x05b0, 0x1570, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0580, 0x0580, 0x0580, 0x1120, + 0x05b0, 0x0e70, 0x05b0, 0x05b0, 0x0e70, 0x1130, 0x05b0, 0x1140, + 0x05b0, 0x05b0, 0x05b0, 0x1150, 0x1150, 0x1160, 0x05b0, 0x1170, + 0x1180, 0x1190, 0x11a0, 0x11b0, 0x11c0, 0x11d0, 0x11e0, 0x11f0, + 0x1200, 0x0d10, 0x1210, 0x1220, 0x1230, 0x0580, 0x0580, 0x1240, + 0x1250, 0x1260, 0x1270, 0x05b0, 0x05b0, 0x1280, 0x1290, 0x12a0, + 0x12b0, 0x12a0, 0x05b0, 0x05b0, 0x05b0, 0x12c0, 0x05b0, 0x05b0, + 0x12d0, 0x12e0, 0x12f0, 0x1300, 0x1310, 0x1320, 0x1330, 0x05b0, + 0x1340, 0x1350, 0x1360, 0x1370, 0x05b0, 0x05b0, 0x1380, 0x05b0, + 0x1390, 0x13a0, 0x13b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x13c0, + 0x05b0, 0x05b0, 0x13d0, 0x0870, 0x0860, 0x0870, 0x13e0, 0x13e0, + 0x13e0, 0x13e0, 0x13e0, 0x13e0, 0x13e0, 0x13e0, 0x13e0, 0x13f0, + 0x13e0, 0x13e0, 0x13e0, 0x13e0, 0x1290, 0x13e0, 0x13e0, 0x1400, + 0x13e0, 0x1410, 0x1420, 0x1430, 0x1440, 0x1450, 0x1460, 0x05b0, + 0x1470, 0x1480, 0x05b0, 0x1490, 0x14a0, 0x05b0, 0x14b0, 0x14c0, + 0x05b0, 0x14d0, 0x05b0, 0x14e0, 0x14f0, 0x1500, 0x1510, 0x1520, + 0x1530, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1540, 0x1550, 0x1560, + 0x13e0, 0x1570, 0x05b0, 0x05b0, 0x1580, 0x05b0, 0x1590, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, - 0x1580, 0x1590, 0x05b0, 0x05b0, 0x05b0, 0x1370, 0x05b0, 0x15a0, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15b0, 0x05b0, 0x15c0, - 0x05b0, 0x15d0, 0x05b0, 0x15e0, 0x0910, 0x15f0, 0x1600, 0x0870, + 0x15a0, 0x15b0, 0x05b0, 0x05b0, 0x05b0, 0x1390, 0x05b0, 0x15c0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15d0, 0x05b0, 0x15e0, + 0x05b0, 0x15f0, 0x05b0, 0x05b0, 0x0910, 0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1610, 0x1620, - 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0, 0x1630, 0x1640, - 0x05b0, 0x13b0, 0x1650, 0x1650, 0x1650, 0x1650, 0x0580, 0x0580, - 0x1660, 0x1670, 0x1680, 0x1690, 0x16a0, 0x0870, 0x0870, 0x0870, - 0x16b0, 0x16c0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16d0, - 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, - 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16e0, 0x0870, 0x16f0, - 0x1700, 0x1710, 0x1720, 0x1730, 0x1740, 0x16b0, 0x1750, 0x16b0, - 0x1760, 0x1770, 0x1780, 0x16b0, 0x1750, 0x16b0, 0x1760, 0x1790, - 0x17a0, 0x16b0, 0x17b0, 0x17c0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, - 0x17b0, 0x16b0, 0x16b0, 0x17d0, 0x16b0, 0x16b0, 0x16d0, 0x17e0, - 0x16b0, 0x17b0, 0x16b0, 0x16b0, 0x17f0, 0x16b0, 0x16b0, 0x16b0, - 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x17b0, - 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, - 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, - 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, - 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, - 0x16b0, 0x1800, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, - 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, - 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, 0x16b0, - 0x1810, 0x16b0, 0x16b0, 0x16b0, 0x1820, 0x05b0, 0x05b0, 0x10c0, - 0x1830, 0x05b0, 0x1840, 0x0870, 0x05b0, 0x05b0, 0x1610, 0x1850, - 0x05b0, 0x1860, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1870, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1600, 0x1610, + 0x05b0, 0x05b0, 0x0da0, 0x05b0, 0x05b0, 0x05b0, 0x1620, 0x1630, + 0x05b0, 0x13d0, 0x1640, 0x1640, 0x1640, 0x1640, 0x0580, 0x0580, + 0x1650, 0x1660, 0x1670, 0x1680, 0x1690, 0x0870, 0x0870, 0x0870, + 0x16a0, 0x16b0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16c0, + 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, + 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16d0, 0x0870, 0x16e0, + 0x16f0, 0x1700, 0x1710, 0x1720, 0x1730, 0x16a0, 0x1740, 0x16a0, + 0x1750, 0x1760, 0x1770, 0x16a0, 0x1740, 0x16a0, 0x1750, 0x1780, + 0x1790, 0x16a0, 0x16a0, 0x17a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, + 0x17b0, 0x16a0, 0x16a0, 0x17c0, 0x16a0, 0x16a0, 0x16c0, 0x17d0, + 0x16a0, 0x17b0, 0x16a0, 0x16a0, 0x17e0, 0x16a0, 0x16a0, 0x16a0, + 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x17b0, + 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, + 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, + 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, + 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x16a0, 0x17f0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, + 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, + 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, 0x16a0, + 0x1800, 0x16a0, 0x16a0, 0x16a0, 0x1810, 0x05b0, 0x05b0, 0x10d0, + 0x1820, 0x05b0, 0x1830, 0x0870, 0x05b0, 0x05b0, 0x1600, 0x1840, + 0x05b0, 0x1850, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1860, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, - 0x05b0, 0x05b0, 0x0840, 0x0a50, 0x0870, 0x0870, 0x0870, 0x1880, - 0x1890, 0x05b0, 0x18a0, 0x18b0, 0x05b0, 0x05b0, 0x05b0, 0x18c0, - 0x18d0, 0x05b0, 0x05b0, 0x1020, 0x18e0, 0x0f10, 0x0580, 0x18f0, - 0x07b0, 0x05b0, 0x1900, 0x05b0, 0x1910, 0x1920, 0x0da0, 0x1930, - 0x08b0, 0x05b0, 0x05b0, 0x1940, 0x1950, 0x1960, 0x0c20, 0x1970, - 0x05b0, 0x05b0, 0x1980, 0x1990, 0x19a0, 0x19b0, 0x0c20, 0x0c20, - 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x19c0, 0x19d0, 0x0760, 0x19e0, - 0x19f0, 0x1a00, 0x1650, 0x05b0, 0x05b0, 0x05b0, 0x0f50, 0x05b0, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1a10, 0x0f10, - 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, - 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, - 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, - 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, - 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, - 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, - 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, - 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, - 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, - 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, - 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, - 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, - 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, - 0x1a40, 0x1a20, 0x1a30, 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, - 0x1a40, 0x1a50, 0x1a40, 0x1a60, 0x1a40, 0x1a20, 0x1a30, 0x1a40, - 0x1a50, 0x1a40, 0x1a70, 0x0db0, 0x1a80, 0x0dd0, 0x0dd0, 0x1a90, - 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, - 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, 0x1aa0, + 0x05b0, 0x05b0, 0x05b0, 0x0e60, 0x0870, 0x0870, 0x0870, 0x1870, + 0x1880, 0x05b0, 0x1890, 0x18a0, 0x05b0, 0x05b0, 0x05b0, 0x18b0, + 0x18c0, 0x05b0, 0x05b0, 0x1030, 0x18d0, 0x0f20, 0x0580, 0x18e0, + 0x07b0, 0x05b0, 0x18f0, 0x05b0, 0x1900, 0x1910, 0x0db0, 0x1920, + 0x08b0, 0x05b0, 0x05b0, 0x1930, 0x1940, 0x1950, 0x0c30, 0x1960, + 0x05b0, 0x05b0, 0x1970, 0x1980, 0x1990, 0x19a0, 0x0c30, 0x0c30, + 0x0c30, 0x0c30, 0x0c30, 0x0c30, 0x19b0, 0x19c0, 0x0760, 0x19d0, + 0x19e0, 0x19f0, 0x1640, 0x05b0, 0x05b0, 0x05b0, 0x0f60, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1a00, 0x0f20, + 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, + 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, + 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, + 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, + 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, + 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, + 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, + 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, + 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, + 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, + 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, + 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, + 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, + 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, + 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, + 0x1a40, 0x1a30, 0x1a60, 0x0dc0, 0x1a70, 0x0de0, 0x0de0, 0x1a80, + 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, + 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, 0x0870, - 0x13b0, 0x1ab0, 0x1ac0, 0x1ad0, 0x1ae0, 0x05b0, 0x05b0, 0x05b0, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1af0, 0x1b00, 0x05b0, 0x05b0, - 0x05b0, 0x05b0, 0x05b0, 0x1b10, 0x0870, 0x05b0, 0x05b0, 0x05b0, - 0x05b0, 0x1b20, 0x05b0, 0x05b0, 0x0a50, 0x0870, 0x0870, 0x1b30, - 0x0580, 0x1b40, 0x0580, 0x1b50, 0x1b60, 0x1b70, 0x1b80, 0x1130, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1b90, - 0x1ba0, 0x1bb0, 0x16b0, 0x1bc0, 0x16b0, 0x1bd0, 0x1be0, 0x1bf0, - 0x16b0, 0x1c00, 0x16b0, 0x17b0, 0x1c10, 0x1c20, 0x1c30, 0x1c40, + 0x13d0, 0x1aa0, 0x1ab0, 0x1ac0, 0x1ad0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1ae0, 0x1af0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x1b00, 0x0870, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x1b10, 0x05b0, 0x05b0, 0x0a50, 0x0870, 0x0870, 0x1b20, + 0x0580, 0x1b30, 0x0580, 0x1b40, 0x1b50, 0x1b60, 0x1b70, 0x1150, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1b80, + 0x1b90, 0x1ba0, 0x16a0, 0x1bb0, 0x16a0, 0x1bc0, 0x1bd0, 0x1be0, + 0x16a0, 0x1bf0, 0x16a0, 0x17b0, 0x1c00, 0x1c10, 0x1c20, 0x1c30, /* values */ 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0022, 0x0003, 0x0001, 0x0001, 0x0002, 0x0004, 0x0004, @@ -228,7 +228,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, - 0x0011, 0x0019, 0x0022, 0x0011, 0x0011, 0x001d, 0x001d, 0x001a, + 0x001d, 0x0019, 0x0022, 0x0011, 0x0011, 0x001d, 0x001d, 0x001a, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, @@ -238,7 +238,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, - 0x0026, 0x0026, 0x0026, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0026, 0x0026, 0x0026, 0x0011, 0x0011, 0x0011, 0x0011, 0x0026, 0x0026, 0x0026, 0x0026, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, @@ -268,7 +268,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x0004, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, - 0x0019, 0x0017, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0019, 0x0017, 0x001d, 0x0011, 0x0011, 0x0004, 0x001a, 0x001a, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, 0x0004, @@ -283,7 +283,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, - 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, @@ -310,7 +310,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x001d, 0x001d, 0x0004, 0x0004, 0x0011, 0x0011, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001d, 0x001d, 0x001b, 0x001b, 0x001d, 0x001d, 0x001d, 0x001d, - 0x001d, 0x001b, 0x001d, 0x001a, 0x001d, 0x001d, 0x0011, 0x0011, + 0x001d, 0x001b, 0x001d, 0x001a, 0x001d, 0x001d, 0x0004, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x0011, @@ -321,7 +321,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, - 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x0004, 0x0011, 0x0011, + 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x0004, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, @@ -355,7 +355,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001a, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, - 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, @@ -367,7 +367,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, - 0x001d, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0004, 0x0004, 0x0004, 0x0021, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0004, 0x001d, 0x0004, 0x0004, @@ -375,6 +375,8 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x0011, 0x0011, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0004, 0x0004, @@ -547,6 +549,8 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x001c, 0x001c, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0022, 0x0022, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, @@ -710,12 +714,6 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, - 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, - 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, - 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, - 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, - 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, - 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0017, 0x0022, 0x0022, 0x0022, 0x001d, 0x0017, 0x0022, @@ -734,7 +732,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x0022, 0x0022, 0x001d, 0x0022, 0x0022, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0025, 0x0025, 0x0022, 0x0022, 0x0022, 0x001d, 0x0022, 0x0022, 0x0012, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, - 0x0022, 0x0022, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0022, 0x0022, 0x0022, 0x001d, 0x0022, 0x001d, 0x0022, 0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, @@ -767,11 +765,11 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x001e, 0x001e, 0x001e, 0x0016, 0x0027, 0x0016, 0x0016, 0x001e, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, - 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, - 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, @@ -808,7 +806,7 @@ const unsigned short DECLSPEC_HIDDEN wine_linebreak_table[7248] = 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0022, 0x0022, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, - 0x001d, 0x001d, 0x001d, 0x001d, 0x0021, 0x001d, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0021, 0x001d, 0x001d, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0022, 0x0022, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, diff --git a/dll/win32/usp10/mirror.c b/dll/win32/usp10/mirror.c index 23dab536c4..9239d79596 100644 --- a/dll/win32/usp10/mirror.c +++ b/dll/win32/usp10/mirror.c @@ -1,10 +1,10 @@ /* Unicode BiDi mirroring */ -/* generated from
http://www.unicode.org/Public/10.0.0/ucd/BidiMirroring.txt
*/ +/* generated from
http://www.unicode.org/Public/11.0.0/ucd/BidiMirroring.txt
*/ /* DO NOT EDIT!! */ #include "wine/unicode.h" -const WCHAR DECLSPEC_HIDDEN wine_mirror_map[3292] = +const WCHAR DECLSPEC_HIDDEN wine_mirror_map[3544] = { /* index */ 0x01d8, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, @@ -12,8 +12,8 @@ const WCHAR DECLSPEC_HIDDEN wine_mirror_map[3292] = 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0303, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x03ca, 0x0100, 0x04c2, 0x05c1, 0x0100, 0x0100, 0x0100, 0x0659, - 0x0100, 0x0749, 0x0847, 0x0100, 0x0100, 0x0100, 0x0945, 0x0100, - 0x0a3d, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, + 0x0100, 0x0749, 0x0847, 0x0942, 0x0100, 0x0100, 0x0a41, 0x0100, + 0x0b39, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, @@ -38,7 +38,7 @@ const WCHAR DECLSPEC_HIDDEN wine_mirror_map[3292] = 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, - 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0ae4, 0x0bdc, + 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0be0, 0x0cd8, /* defaults */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, @@ -169,13 +169,13 @@ const WCHAR DECLSPEC_HIDDEN wine_mirror_map[3292] = /* 0x2208 .. 0x22ff */ 0x0003, 0x0003, 0x0003, 0xfffd, 0xfffd, 0xfffd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07e0, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x09df, + 0x0783, 0x077a, 0x077e, 0x0000, 0x08ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x008a, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x008a, 0x0000, 0x0007, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xfff9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, @@ -189,7 +189,7 @@ const WCHAR DECLSPEC_HIDDEN wine_mirror_map[3292] = 0x0000, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, 0x0838, 0x0000, 0x083c, 0x083a, 0x0000, 0x083a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0524, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0xff76, 0x0000, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, @@ -246,7 +246,7 @@ const WCHAR DECLSPEC_HIDDEN wine_mirror_map[3292] = 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0001, 0xffff, 0x0000, 0x0002, 0x0000, 0xfffe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xfadc, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, @@ -269,9 +269,9 @@ const WCHAR DECLSPEC_HIDDEN wine_mirror_map[3292] = 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0003, 0x0001, 0xffff, 0xfffd, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, - 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xffff, 0x0000, 0x0000, 0xf886, 0x0000, 0x0000, 0x0000, 0x0000, + 0xf882, 0x0000, 0x0000, 0xf87d, 0x0001, 0xffff, 0x0000, 0x0000, + 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf8e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, @@ -279,7 +279,7 @@ const WCHAR DECLSPEC_HIDDEN wine_mirror_map[3292] = 0xffff, 0x0001, 0xffff, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf820, 0x0000, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, /* 0x2a02 .. 0x2aff */ @@ -298,29 +298,25 @@ const WCHAR DECLSPEC_HIDDEN wine_mirror_map[3292] = 0x0000, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, - 0xffff, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, - 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, - 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, + 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, + 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, + 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, + 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, - 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0001, 0xffff, 0x0000, - 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, - 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, + 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0001, 0xffff, 0x0001, + 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, + 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, + 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, + 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf7c8, 0x0000, 0x0000, 0x0000, 0x0000, 0xf7c6, 0xf7c4, 0xf7c6, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0xffff, 0xf736, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - /* 0x2e02 .. 0x2eff */ - 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0001, - 0xffff, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, + /* 0x2b05 .. 0x2bff */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, 0x0001, 0xffff, - 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, @@ -347,7 +343,44 @@ const WCHAR DECLSPEC_HIDDEN wine_mirror_map[3292] = 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xf621, 0x0000, + /* 0x2e01 .. 0x2eff */ + 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, + 0x0001, 0xffff, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0001, 0xffff, 0x0000, 0x0000, 0x0001, + 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, + 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* 0x3008 .. 0x30ff */ 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0001, 0xffff, 0x0000, 0x0000, 0x0001, 0xffff, 0x0001, 0xffff, diff --git a/dll/win32/usp10/shaping.c b/dll/win32/usp10/shaping.c index 82435ff2c3..941bd59415 100644 --- a/dll/win32/usp10/shaping.c +++ b/dll/win32/usp10/shaping.c @@ -1,10 +1,10 @@ /* Unicode Arabic shaping */ -/* generated from
http://www.unicode.org/Public/10.0.0/ucd/ArabicShaping.txt
*/ +/* generated from
http://www.unicode.org/Public/11.0.0/ucd/ArabicShaping.txt
*/ /* DO NOT EDIT!! */ #include "wine/unicode.h" -const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] = +const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2944] = { /* level 1 offsets */ 0x0100, 0x0110, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, @@ -57,61 +57,61 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] = 0x0340, 0x0560, 0x0570, 0x0340, 0x0580, 0x0590, 0x05a0, 0x0340, 0x0340, 0x0340, 0x05b0, 0x05c0, 0x0340, 0x05d0, 0x05e0, 0x0360, 0x05f0, 0x0340, 0x0340, 0x0600, 0x0610, 0x0620, 0x0630, 0x0340, - 0x0640, 0x0340, 0x0340, 0x0650, 0x0660, 0x0340, 0x0630, 0x0340, - 0x0670, 0x0340, 0x0340, 0x0650, 0x0680, 0x0640, 0x0340, 0x0690, - 0x0670, 0x0340, 0x0340, 0x0650, 0x06a0, 0x0340, 0x0630, 0x06b0, - 0x0640, 0x0340, 0x0340, 0x06c0, 0x0660, 0x06d0, 0x0630, 0x0340, - 0x06e0, 0x0340, 0x0340, 0x0340, 0x06f0, 0x0340, 0x0340, 0x0340, - 0x0510, 0x0340, 0x0340, 0x0700, 0x0710, 0x0720, 0x0630, 0x0340, - 0x0640, 0x0340, 0x0340, 0x06c0, 0x0730, 0x0340, 0x0630, 0x0340, - 0x0740, 0x0340, 0x0340, 0x0750, 0x0660, 0x0340, 0x0630, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0760, 0x0770, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0780, 0x0790, 0x0340, 0x0340, 0x0340, + 0x0640, 0x0340, 0x0340, 0x0650, 0x0660, 0x0340, 0x0630, 0x0670, + 0x0680, 0x0340, 0x0340, 0x0650, 0x0690, 0x0640, 0x0340, 0x06a0, + 0x0680, 0x0340, 0x0340, 0x0650, 0x06b0, 0x0340, 0x0630, 0x06c0, + 0x0640, 0x0340, 0x0340, 0x06d0, 0x0660, 0x06e0, 0x0630, 0x0340, + 0x06f0, 0x0340, 0x0340, 0x0340, 0x0700, 0x0340, 0x0340, 0x0340, + 0x0710, 0x0340, 0x0340, 0x0720, 0x0730, 0x0740, 0x0630, 0x0340, + 0x0640, 0x0340, 0x0340, 0x06d0, 0x0750, 0x0340, 0x0630, 0x0340, + 0x0760, 0x0340, 0x0340, 0x0770, 0x0660, 0x0340, 0x0630, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0780, 0x0790, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x07a0, 0x07b0, 0x0340, 0x0340, 0x0340, - 0x0340, 0x07c0, 0x0340, 0x07d0, 0x0340, 0x0340, 0x0340, 0x07e0, - 0x07f0, 0x0800, 0x0360, 0x0810, 0x06d0, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0820, 0x0830, 0x0340, 0x0840, 0x0510, 0x0850, - 0x0860, 0x0350, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0820, 0x0340, 0x0340, + 0x0340, 0x0340, 0x0340, 0x07c0, 0x07d0, 0x0340, 0x0340, 0x0340, + 0x0340, 0x07e0, 0x0340, 0x07f0, 0x0340, 0x0340, 0x0340, 0x0800, + 0x0810, 0x0820, 0x0360, 0x0830, 0x06e0, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0340, 0x0840, 0x0850, 0x0340, 0x0860, 0x0510, 0x0870, + 0x0880, 0x0350, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0840, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0870, 0x0340, 0x0870, 0x0340, 0x0630, 0x0340, 0x0630, - 0x0340, 0x0340, 0x0340, 0x0880, 0x0890, 0x08a0, 0x0340, 0x0340, - 0x08b0, 0x0340, 0x0530, 0x0530, 0x0530, 0x0530, 0x0530, 0x08c0, - 0x08d0, 0x0530, 0x08e0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x08f0, 0x0900, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0890, 0x0340, 0x0890, 0x0340, 0x0630, 0x0340, 0x0630, + 0x0340, 0x0340, 0x0340, 0x08a0, 0x08b0, 0x08c0, 0x0340, 0x0340, + 0x08d0, 0x0340, 0x0530, 0x0530, 0x0530, 0x0530, 0x0530, 0x08e0, + 0x08f0, 0x0530, 0x0900, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0340, 0x0910, 0x0920, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0910, 0x0340, 0x0340, 0x0340, 0x0920, 0x0930, 0x0940, - 0x0340, 0x0340, 0x0340, 0x0950, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0960, 0x0340, 0x0340, 0x0970, 0x06e0, 0x0340, 0x0980, 0x0960, - 0x0740, 0x0340, 0x0990, 0x0340, 0x0340, 0x0340, 0x09a0, 0x0740, - 0x0340, 0x0340, 0x09b0, 0x09c0, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x09d0, 0x09e0, 0x09f0, + 0x0340, 0x0930, 0x0340, 0x0340, 0x0340, 0x0940, 0x0950, 0x0960, + 0x0340, 0x0340, 0x0340, 0x0970, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0980, 0x0340, 0x0340, 0x0990, 0x06f0, 0x0340, 0x09a0, 0x0980, + 0x0760, 0x0340, 0x09b0, 0x0340, 0x0340, 0x0340, 0x09c0, 0x0760, + 0x0340, 0x0340, 0x09d0, 0x09e0, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x09f0, 0x0a00, 0x0a10, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0360, 0x0a00, - 0x0a10, 0x0340, 0x0a20, 0x0340, 0x0340, 0x0340, 0x0a30, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0360, 0x0a20, + 0x0a30, 0x0340, 0x0a40, 0x0340, 0x0340, 0x0340, 0x0a50, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0510, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0740, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0760, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, - 0x0340, 0x0340, 0x0a40, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0a50, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0a60, - 0x0340, 0x0700, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0740, - 0x0a70, 0x0340, 0x0720, 0x0340, 0x0530, 0x0530, 0x0530, 0x0a80, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0a90, 0x0340, 0x0360, 0x0740, - 0x0340, 0x0340, 0x0aa0, 0x0340, 0x0ab0, 0x0740, 0x0340, 0x0340, - 0x05f0, 0x0340, 0x0340, 0x0ac0, 0x0340, 0x0340, 0x0ad0, 0x0340, - 0x0340, 0x0340, 0x0ae0, 0x0af0, 0x0b00, 0x0340, 0x0340, 0x0650, - 0x0340, 0x0340, 0x0340, 0x0b10, 0x0640, 0x0340, 0x0b20, 0x06d0, + 0x0340, 0x0340, 0x0a60, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0a70, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0a80, + 0x0340, 0x0720, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0760, + 0x0a90, 0x0340, 0x0740, 0x0340, 0x0530, 0x0530, 0x0530, 0x0aa0, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0ab0, 0x0340, 0x0360, 0x0ac0, + 0x0340, 0x0340, 0x0ad0, 0x0340, 0x0ae0, 0x0760, 0x0340, 0x0340, + 0x05f0, 0x0340, 0x0340, 0x0af0, 0x0340, 0x0340, 0x0b00, 0x0340, + 0x0340, 0x0340, 0x0b10, 0x0b20, 0x0b30, 0x0340, 0x0340, 0x0650, + 0x0340, 0x0340, 0x0340, 0x0b40, 0x0640, 0x0340, 0x0b50, 0x06e0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b30, 0x0340, - 0x0340, 0x0b40, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b60, 0x0340, + 0x0340, 0x0670, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0340, 0x0360, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b50, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b70, /* values */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, @@ -180,7 +180,7 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] = 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0005, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, @@ -195,7 +195,7 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] = 0x0104, 0x0104, 0x0802, 0x0302, 0x3502, 0x0000, 0x0702, 0x0a04, 0x0d04, 0x3602, 0x0802, 0x0c04, 0x1104, 0x0000, 0x0404, 0x0404, 0x0404, 0x0802, 0x0104, 0x3704, 0x3704, 0x3704, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, @@ -215,6 +215,8 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] = 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, @@ -233,6 +235,8 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] = 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, + 0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, @@ -290,7 +294,7 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] = 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0005, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, @@ -349,6 +353,8 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] = 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, @@ -370,8 +376,6 @@ const unsigned short DECLSPEC_HIDDEN wine_shaping_table[2912] = 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000 }; diff --git a/dll/win32/usp10/usp10_internal.h b/dll/win32/usp10/usp10_internal.h index fea68918c9..703043778e 100644 --- a/dll/win32/usp10/usp10_internal.h +++ b/dll/win32/usp10/usp10_internal.h @@ -29,10 +29,6 @@ ( (ULONG)_x2 << 8 ) | \ (ULONG)_x1 ) -#ifndef ARRAY_SIZE -#define ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0])) -#endif - enum usp10_script { Script_Undefined = 0x00, diff --git a/media/doc/README.WINE b/media/doc/README.WINE index 3945ea4308..723f86c8eb 100644 --- a/media/doc/README.WINE +++ b/media/doc/README.WINE @@ -189,7 +189,7 @@ reactos/dll/win32/twain_32 # Synced to WineStaging-3.3 reactos/dll/win32/updspapi # Synced to WineStaging-3.3 reactos/dll/win32/url # Synced to WineStaging-3.3 reactos/dll/win32/urlmon # Synced to WineStaging-4.0 -reactos/dll/win32/usp10 # Synced to WineStaging-3.9 +reactos/dll/win32/usp10 # Synced to WineStaging-4.0 reactos/dll/win32/uxtheme # Forked reactos/dll/win32/vbscript # Synced to WineStaging-3.9 reactos/dll/win32/version # Synced to WineStaging-3.9
5 years, 10 months
1
0
0
0
[reactos] 01/01: [USERENV_WINETEST] Sync with Wine Staging 4.0. CORE-15682
by Amine Khaldi
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e38908229bd961bbe2fd8…
commit e38908229bd961bbe2fd86d9e71cb400223d6eb3 Author: Amine Khaldi <amine.khaldi(a)reactos.org> AuthorDate: Mon Feb 4 13:05:28 2019 +0100 Commit: Amine Khaldi <amine.khaldi(a)reactos.org> CommitDate: Mon Feb 4 13:05:28 2019 +0100 [USERENV_WINETEST] Sync with Wine Staging 4.0. CORE-15682 --- modules/rostests/winetests/userenv/userenv.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/rostests/winetests/userenv/userenv.c b/modules/rostests/winetests/userenv/userenv.c index 5647cf340b..79b4d59a61 100644 --- a/modules/rostests/winetests/userenv/userenv.c +++ b/modules/rostests/winetests/userenv/userenv.c @@ -158,7 +158,7 @@ static void test_create_env(void) } /* Test for common environment variables (NT4 and higher) */ - for (i = 0; i < sizeof(common_vars)/sizeof(common_vars[0]); i++) + for (i = 0; i < ARRAY_SIZE(common_vars); i++) { for (j = 0; j < 4; j++) { @@ -175,7 +175,7 @@ static void test_create_env(void) } else { - for (i = 0; i < sizeof(common_post_nt4_vars)/sizeof(common_post_nt4_vars[0]); i++) + for (i = 0; i < ARRAY_SIZE(common_post_nt4_vars); i++) { for (j = 0; j < 4; j++) { @@ -190,7 +190,7 @@ static void test_create_env(void) pIsWow64Process(GetCurrentProcess(), &is_wow64); if (sizeof(void*)==8 || is_wow64) { - for (i = 0; i < sizeof(common_win64_vars)/sizeof(common_win64_vars[0]); i++) + for (i = 0; i < ARRAY_SIZE(common_win64_vars); i++) { for (j=0; j<4; j++) { @@ -215,7 +215,7 @@ static void test_create_env(void) expect(TRUE, r); if (r) HeapFree(GetProcessHeap(), 0, st); - for (i = 0; i < sizeof(env) / sizeof(env[0]); i++) + for (i = 0; i < ARRAY_SIZE(env); i++) { r = DestroyEnvironmentBlock(env[i]); expect(TRUE, r);
5 years, 10 months
1
0
0
0
[reactos] 01/01: [URLMON_WINETEST] Sync with Wine Staging 4.0. CORE-15682
by Amine Khaldi
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=11d1bab6f30c3294258b8…
commit 11d1bab6f30c3294258b83b942ae5c3dc2555f84 Author: Amine Khaldi <amine.khaldi(a)reactos.org> AuthorDate: Mon Feb 4 13:05:00 2019 +0100 Commit: Amine Khaldi <amine.khaldi(a)reactos.org> CommitDate: Mon Feb 4 13:05:00 2019 +0100 [URLMON_WINETEST] Sync with Wine Staging 4.0. CORE-15682 --- modules/rostests/winetests/urlmon/misc.c | 66 +++--- modules/rostests/winetests/urlmon/protocol.c | 26 +-- modules/rostests/winetests/urlmon/sec_mgr.c | 20 +- modules/rostests/winetests/urlmon/uri.c | 320 +++++++++++++++++++++++---- modules/rostests/winetests/urlmon/url.c | 6 +- 5 files changed, 336 insertions(+), 102 deletions(-) diff --git a/modules/rostests/winetests/urlmon/misc.c b/modules/rostests/winetests/urlmon/misc.c index e88c960497..ff0f24ed76 100644 --- a/modules/rostests/winetests/urlmon/misc.c +++ b/modules/rostests/winetests/urlmon/misc.c @@ -85,7 +85,7 @@ static HRESULT (WINAPI *pIEInstallScope)(DWORD*); static int strcmp_wa(const WCHAR *strw, const char *stra) { WCHAR buf[512]; - MultiByteToWideChar(CP_ACP, 0, stra, -1, buf, sizeof(buf)/sizeof(WCHAR)); + MultiByteToWideChar(CP_ACP, 0, stra, -1, buf, ARRAY_SIZE(buf)); return lstrcmpW(strw, buf); } @@ -367,23 +367,23 @@ static void test_CoInternetParseUrl(void) 3, &size, 0); ok(hres == E_POINTER, "schema failed: %08x, expected E_POINTER\n", hres); - for(i=0; i < sizeof(parse_tests)/sizeof(parse_tests[0]); i++) { + for(i = 0; i < ARRAY_SIZE(parse_tests); i++) { memset(buf, 0xf0, sizeof(buf)); hres = pCoInternetParseUrl(parse_tests[i].url, PARSE_SECURITY_URL, 0, buf, - sizeof(buf)/sizeof(WCHAR), &size, 0); + ARRAY_SIZE(buf), &size, 0); ok(hres == parse_tests[i].secur_hres, "[%d] security url failed: %08x, expected %08x\n", i, hres, parse_tests[i].secur_hres); memset(buf, 0xf0, sizeof(buf)); hres = pCoInternetParseUrl(parse_tests[i].url, PARSE_ENCODE, 0, buf, - sizeof(buf)/sizeof(WCHAR), &size, 0); + ARRAY_SIZE(buf), &size, 0); ok(hres == S_OK, "[%d] encoding failed: %08x\n", i, hres); ok(size == lstrlenW(parse_tests[i].encoded_url), "[%d] wrong size\n", i); ok(!lstrcmpW(parse_tests[i].encoded_url, buf), "[%d] wrong encoded url\n", i); memset(buf, 0xf0, sizeof(buf)); hres = pCoInternetParseUrl(parse_tests[i].url, PARSE_PATH_FROM_URL, 0, buf, - sizeof(buf)/sizeof(WCHAR), &size, 0); + ARRAY_SIZE(buf), &size, 0); ok(hres == parse_tests[i].path_hres, "[%d] path failed: %08x, expected %08x\n", i, hres, parse_tests[i].path_hres); if(parse_tests[i].path) { @@ -393,7 +393,7 @@ static void test_CoInternetParseUrl(void) memset(buf, 0xf0, sizeof(buf)); hres = pCoInternetParseUrl(parse_tests[i].url, PARSE_SCHEMA, 0, buf, - sizeof(buf)/sizeof(WCHAR), &size, 0); + ARRAY_SIZE(buf), &size, 0); ok(hres == S_OK, "[%d] schema failed: %08x\n", i, hres); ok(size == lstrlenW(parse_tests[i].schema), "[%d] wrong size\n", i); ok(!lstrcmpW(parse_tests[i].schema, buf), "[%d] wrong schema\n", i); @@ -402,7 +402,7 @@ static void test_CoInternetParseUrl(void) && memcmp(parse_tests[i].url, wszAbout, 5*sizeof(WCHAR))) { memset(buf, 0xf0, sizeof(buf)); hres = pCoInternetParseUrl(parse_tests[i].url, PARSE_DOMAIN, 0, buf, - sizeof(buf)/sizeof(WCHAR), &size, 0); + ARRAY_SIZE(buf), &size, 0); ok(hres == parse_tests[i].domain_hres, "[%d] domain failed: %08x\n", i, hres); if(parse_tests[i].domain) ok(!lstrcmpW(parse_tests[i].domain, buf), "[%d] wrong domain, received %s\n", i, wine_dbgstr_w(buf)); @@ -410,7 +410,7 @@ static void test_CoInternetParseUrl(void) memset(buf, 0xf0, sizeof(buf)); hres = pCoInternetParseUrl(parse_tests[i].url, PARSE_ROOTDOCUMENT, 0, buf, - sizeof(buf)/sizeof(WCHAR), &size, 0); + ARRAY_SIZE(buf), &size, 0); ok(hres == parse_tests[i].rootdocument_hres, "[%d] rootdocument failed: %08x\n", i, hres); if(parse_tests[i].rootdocument) ok(!lstrcmpW(parse_tests[i].rootdocument, buf), "[%d] wrong rootdocument, received %s\n", i, wine_dbgstr_w(buf)); @@ -451,7 +451,7 @@ static void test_CoInternetQueryInfo(void) DWORD cb, i; HRESULT hres; - for(i=0; i < sizeof(query_info_tests)/sizeof(query_info_tests[0]); i++) { + for(i = 0; i < ARRAY_SIZE(query_info_tests); i++) { cb = 0xdeadbeef; memset(buf, '?', sizeof(buf)); hres = pCoInternetQueryInfo(query_info_tests[0].url, QUERY_USES_NETWORK, 0, buf, sizeof(buf), &cb, 0); @@ -724,7 +724,7 @@ static void test_FindMimeFromData(void) static const WCHAR text_htmlW[] = {'t','e','x','t','/','h','t','m','l',0}; static const WCHAR text_plainW[] = {'t','e','x','t','/','p','l','a','i','n',0}; - for(i=0; i<sizeof(mime_tests)/sizeof(mime_tests[0]); i++) { + for(i = 0; i < ARRAY_SIZE(mime_tests); i++) { mime = (LPWSTR)0xf0f0f0f0; url = a2w(mime_tests[i].url); hres = pFindMimeFromData(NULL, url, NULL, 0, NULL, 0, &mime, 0); @@ -757,7 +757,7 @@ static void test_FindMimeFromData(void) heap_free(url); } - for(i=0; i < sizeof(mime_tests2)/sizeof(mime_tests2[0]); i++) { + for(i = 0; i < ARRAY_SIZE(mime_tests2); i++) { url = a2w(mime_tests2[i].url); proposed_mime = a2w(mime_tests2[i].proposed_mime); hres = pFindMimeFromData(NULL, url, mime_tests2[i].data, mime_tests2[i].size, @@ -879,9 +879,9 @@ static HRESULT WINAPI InternetProtocolInfo_ParseUrl(IInternetProtocolInfo *iface if(ParseAction == PARSE_SECURITY_URL) { if(pcchResult) - *pcchResult = sizeof(url1)/sizeof(WCHAR); + *pcchResult = ARRAY_SIZE(url1); - if(cchResult<sizeof(url1)/sizeof(WCHAR)) + if(cchResult < ARRAY_SIZE(url1)) return S_FALSE; memcpy(pwzResult, url1, sizeof(url1)); @@ -1032,8 +1032,7 @@ static void test_NameSpace(void) SET_EXPECT(CreateInstance); SET_EXPECT(ParseUrl); - hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, sizeof(buf)/sizeof(WCHAR), - &size, 0); + hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, ARRAY_SIZE(buf), &size, 0); ok(hres == S_OK, "CoInternetParseUrl failed: %08x\n", hres); CHECK_CALLED(QI_IInternetProtocolInfo); @@ -1044,8 +1043,7 @@ static void test_NameSpace(void) SET_EXPECT(QI_IInternetProtocolInfo); SET_EXPECT(ParseUrl); - hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, sizeof(buf)/sizeof(WCHAR), - &size, 0); + hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, ARRAY_SIZE(buf), &size, 0); ok(hres == S_OK, "CoInternetParseUrl failed: %08x\n", hres); CHECK_CALLED(QI_IInternetProtocolInfo); @@ -1054,11 +1052,10 @@ static void test_NameSpace(void) SET_EXPECT(QI_IInternetProtocolInfo); SET_EXPECT(ParseUrl); - hres = pCoInternetParseUrl(url8, PARSE_SECURITY_URL, 0, buf, - sizeof(buf)/sizeof(WCHAR), &size, 0); + hres = pCoInternetParseUrl(url8, PARSE_SECURITY_URL, 0, buf, ARRAY_SIZE(buf), &size, 0); ok(hres == S_OK, "CoInternetParseUrl failed: %08x\n", hres); - ok(size == sizeof(url1)/sizeof(WCHAR), "Size = %d\n", size); - if(size == sizeof(url1)/sizeof(WCHAR)) + ok(size == ARRAY_SIZE(url1), "Size = %d\n", size); + if(size == ARRAY_SIZE(url1)) ok(!memcmp(buf, url1, sizeof(url1)), "Encoded url = %s\n", wine_dbgstr_w(buf)); CHECK_CALLED(QI_IInternetProtocolInfo); @@ -1071,7 +1068,7 @@ static void test_NameSpace(void) hres = pCoInternetGetSecurityUrl(url8, &sec_url, PSU_SECURITY_URL_ONLY, 0); ok(hres == S_OK, "CoInternetGetSecurityUrl failed: %08x\n", hres); if(hres == S_OK) { - ok(lstrlenW(sec_url)>sizeof(wszFile)/sizeof(WCHAR) && + ok(lstrlenW(sec_url) > ARRAY_SIZE(wszFile) && !memcmp(sec_url, wszFile, sizeof(wszFile)-sizeof(WCHAR)), "Encoded url = %s\n", wine_dbgstr_w(sec_url)); CoTaskMemFree(sec_url); @@ -1084,8 +1081,7 @@ static void test_NameSpace(void) hres = IInternetSession_UnregisterNameSpace(session, &test_protocol_cf, wszTest); ok(hres == S_OK, "UnregisterNameSpace failed: %08x\n", hres); - hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, sizeof(buf)/sizeof(WCHAR), - &size, 0); + hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, ARRAY_SIZE(buf), &size, 0); ok(hres == S_OK, "CoInternetParseUrl failed: %08x\n", hres); hres = IInternetSession_RegisterNameSpace(session, &test_protocol_cf2, &IID_NULL, @@ -1103,8 +1099,7 @@ static void test_NameSpace(void) SET_EXPECT(QI_IInternetProtocolInfo); SET_EXPECT(ParseUrl); - hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, sizeof(buf)/sizeof(WCHAR), - &size, 0); + hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, ARRAY_SIZE(buf), &size, 0); ok(hres == S_OK, "CoInternetParseUrl failed: %08x\n", hres); CHECK_CALLED(QI_IInternetProtocolInfo); @@ -1116,8 +1111,7 @@ static void test_NameSpace(void) SET_EXPECT(QI_IInternetProtocolInfo); SET_EXPECT(ParseUrl); - hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, sizeof(buf)/sizeof(WCHAR), - &size, 0); + hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, ARRAY_SIZE(buf), &size, 0); ok(hres == S_OK, "CoInternetParseUrl failed: %08x\n", hres); CHECK_CALLED(QI_IInternetProtocolInfo); @@ -1130,8 +1124,7 @@ static void test_NameSpace(void) SET_EXPECT(QI_IInternetProtocolInfo); SET_EXPECT(ParseUrl); - hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, sizeof(buf)/sizeof(WCHAR), - &size, 0); + hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, ARRAY_SIZE(buf), &size, 0); ok(hres == S_OK, "CoInternetParseUrl failed: %08x\n", hres); CHECK_CALLED(QI_IInternetProtocolInfo); @@ -1149,8 +1142,7 @@ static void test_NameSpace(void) hres = IInternetSession_UnregisterNameSpace(session, &test_protocol_cf2, wszTest); ok(hres == S_OK, "UnregisterNameSpace failed: %08x\n", hres); - hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, sizeof(buf)/sizeof(WCHAR), - &size, 0); + hres = pCoInternetParseUrl(url8, PARSE_ENCODE, 0, buf, ARRAY_SIZE(buf), &size, 0); ok(hres == S_OK, "CoInternetParseUrl failed: %08x\n", hres); IInternetSession_Release(session); @@ -1627,7 +1619,7 @@ static void test_MkParseDisplayNameEx(void) CreateBindCtx(0, &bctx); - for (i = 0; i < sizeof(invalid_parameters)/sizeof(invalid_parameters[0]); i++) + for (i = 0; i < ARRAY_SIZE(invalid_parameters); i++) { eaten = 0xdeadbeef; mon = (IMoniker *)0xdeadbeef; @@ -1643,7 +1635,7 @@ static void test_MkParseDisplayNameEx(void) hres = MkParseDisplayNameEx(bctx, url9, &eaten, &mon); ok(hres == S_OK, "MkParseDisplayNameEx failed: %08x\n", hres); - ok(eaten == sizeof(url9)/sizeof(WCHAR)-1, "eaten=%d\n", eaten); + ok(eaten == ARRAY_SIZE(url9)-1, "eaten=%d\n", eaten); ok(mon != NULL, "mon == NULL\n"); hres = IMoniker_GetDisplayName(mon, NULL, 0, &name); @@ -1659,7 +1651,7 @@ static void test_MkParseDisplayNameEx(void) hres = MkParseDisplayNameEx(bctx, clsid_nameW, &eaten, &mon); ok(hres == S_OK, "MkParseDisplayNameEx failed: %08x\n", hres); - ok(eaten == sizeof(clsid_nameW)/sizeof(WCHAR)-1, "eaten=%d\n", eaten); + ok(eaten == ARRAY_SIZE(clsid_nameW)-1, "eaten=%d\n", eaten); ok(mon != NULL, "mon == NULL\n"); hres = IMoniker_IsSystemMoniker(mon, &issys); @@ -1733,7 +1725,7 @@ static void test_internet_feature_defaults(void) { HRESULT hres; DWORD i; - for(i = 0; i < sizeof(default_feature_tests)/sizeof(default_feature_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(default_feature_tests); ++i) { hres = pCoInternetIsFeatureEnabled(default_feature_tests[i].feature, default_feature_tests[i].get_flags); todo_wine_if (default_feature_tests[i].todo) ok(hres == default_feature_tests[i].expected, "CoInternetIsFeatureEnabled returned %08x, expected %08x on test %d\n", @@ -1880,7 +1872,7 @@ static void test_CoInternetSetFeatureEnabled(void) { hres = pCoInternetSetFeatureEnabled(FEATURE_ENTRY_COUNT,SET_FEATURE_ON_PROCESS,TRUE); ok(hres == E_FAIL, "CoInternetSetFeatureEnabled returned %08x, expected E_FAIL\n", hres); - for(i = 0; i < sizeof(internet_feature_tests)/sizeof(internet_feature_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(internet_feature_tests); ++i) { hres = pCoInternetSetFeatureEnabled(internet_feature_tests[i].feature, internet_feature_tests[i].set_flags, internet_feature_tests[i].enable); todo_wine_if (internet_feature_tests[i].set_todo) diff --git a/modules/rostests/winetests/urlmon/protocol.c b/modules/rostests/winetests/urlmon/protocol.c index d279694601..6162a94fc8 100644 --- a/modules/rostests/winetests/urlmon/protocol.c +++ b/modules/rostests/winetests/urlmon/protocol.c @@ -824,7 +824,7 @@ static HRESULT WINAPI ProtocolSink_ReportProgress(IInternetProtocolSink *iface, if (winetest_debug > 1) { - if (ulStatusCode < sizeof(status_names)/sizeof(status_names[0])) + if (ulStatusCode < ARRAY_SIZE(status_names)) trace( "progress: %s %s\n", status_names[ulStatusCode], wine_dbgstr_w(szStatusText) ); else trace( "progress: %u %s\n", ulStatusCode, wine_dbgstr_w(szStatusText) ); @@ -3057,55 +3057,55 @@ static void test_file_protocol(void) { test_file_protocol_url(index_url); memcpy(buf, wszFile, sizeof(wszFile)); - len = sizeof(wszFile)/sizeof(WCHAR)-1; - len += GetCurrentDirectoryW(sizeof(buf)/sizeof(WCHAR)-len, buf+len); + len = ARRAY_SIZE(wszFile)-1; + len += GetCurrentDirectoryW(ARRAY_SIZE(buf)-len, buf+len); buf[len++] = '\\'; memcpy(buf+len, wszIndexHtml, sizeof(wszIndexHtml)); - file_name = buf + sizeof(wszFile)/sizeof(WCHAR)-1; + file_name = buf + ARRAY_SIZE(wszFile)-1; bindf = 0; test_file_protocol_url(buf); bindf = BINDF_FROMURLMON; test_file_protocol_url(buf); memcpy(buf, wszFile2, sizeof(wszFile2)); - len = GetCurrentDirectoryW(sizeof(file_name_buf)/sizeof(WCHAR), file_name_buf); + len = GetCurrentDirectoryW(ARRAY_SIZE(file_name_buf), file_name_buf); file_name_buf[len++] = '\\'; memcpy(file_name_buf+len, wszIndexHtml, sizeof(wszIndexHtml)); - lstrcpyW(buf+sizeof(wszFile2)/sizeof(WCHAR)-1, file_name_buf); + lstrcpyW(buf+ARRAY_SIZE(wszFile2)-1, file_name_buf); file_name = file_name_buf; bindf = 0; test_file_protocol_url(buf); bindf = BINDF_FROMURLMON; test_file_protocol_url(buf); - buf[sizeof(wszFile2)/sizeof(WCHAR)] = '|'; + buf[ARRAY_SIZE(wszFile2)] = '|'; test_file_protocol_url(buf); memcpy(buf, wszFile3, sizeof(wszFile3)); - len = sizeof(wszFile3)/sizeof(WCHAR)-1; - len += GetCurrentDirectoryW(sizeof(buf)/sizeof(WCHAR)-len, buf+len); + len = ARRAY_SIZE(wszFile3)-1; + len += GetCurrentDirectoryW(ARRAY_SIZE(buf)-len, buf+len); buf[len++] = '\\'; memcpy(buf+len, wszIndexHtml, sizeof(wszIndexHtml)); - file_name = buf + sizeof(wszFile3)/sizeof(WCHAR)-1; + file_name = buf + ARRAY_SIZE(wszFile3)-1; bindf = 0; test_file_protocol_url(buf); bindf = BINDF_FROMURLMON; test_file_protocol_url(buf); memcpy(buf, wszFile4, sizeof(wszFile4)); - len = GetCurrentDirectoryW(sizeof(file_name_buf)/sizeof(WCHAR), file_name_buf); + len = GetCurrentDirectoryW(ARRAY_SIZE(file_name_buf), file_name_buf); file_name_buf[len++] = '\\'; memcpy(file_name_buf+len, wszIndexHtml, sizeof(wszIndexHtml)); - lstrcpyW(buf+sizeof(wszFile4)/sizeof(WCHAR)-1, file_name_buf); + lstrcpyW(buf+ARRAY_SIZE(wszFile4)-1, file_name_buf); file_name = file_name_buf; bindf = 0; test_file_protocol_url(buf); bindf = BINDF_FROMURLMON; test_file_protocol_url(buf); - buf[sizeof(wszFile4)/sizeof(WCHAR)] = '|'; + buf[ARRAY_SIZE(wszFile4)] = '|'; test_file_protocol_url(buf); /* Fragment part of URL is skipped if the file doesn't exist. */ diff --git a/modules/rostests/winetests/urlmon/sec_mgr.c b/modules/rostests/winetests/urlmon/sec_mgr.c index 7c57d9e375..4d96eba628 100644 --- a/modules/rostests/winetests/urlmon/sec_mgr.c +++ b/modules/rostests/winetests/urlmon/sec_mgr.c @@ -224,7 +224,7 @@ static LONG myRegDeleteTreeA(HKEY hKey, LPCSTR lpszSubKey) dwMaxSubkeyLen++; dwMaxValueLen++; dwMaxLen = max(dwMaxSubkeyLen, dwMaxValueLen); - if (dwMaxLen > sizeof(szNameBuf)/sizeof(CHAR)) + if (dwMaxLen > ARRAY_SIZE(szNameBuf)) { /* Name too big: alloc a buffer for it */ if (!(lpszName = HeapAlloc( GetProcessHeap(), 0, dwMaxLen*sizeof(CHAR)))) @@ -384,7 +384,7 @@ static void test_SecurityManager(void) if(FAILED(hres)) return; - for(i=0; i < sizeof(secmgr_tests)/sizeof(secmgr_tests[0]); i++) { + for(i = 0; i < ARRAY_SIZE(secmgr_tests); i++) { zone = 100; hres = IInternetSecurityManager_MapUrlToZone(secmgr, secmgr_tests[i].url, &zone, 0); @@ -788,7 +788,7 @@ static BOOL register_zone_domains(void) res = RegOpenKeyA(HKEY_CURRENT_USER, szZoneMapDomainsKey, &domains); ok(res == ERROR_SUCCESS, "RegOpenKey failed: %d\n", res); - for(i = 0; i < sizeof(zone_domain_mappings)/sizeof(zone_domain_mappings[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(zone_domain_mappings); ++i) { const zone_domain_mapping *test = zone_domain_mappings+i; HKEY domain; @@ -833,7 +833,7 @@ static void unregister_zone_domains(void) res = RegOpenKeyA(HKEY_CURRENT_USER, szZoneMapDomainsKey, &domains); ok(res == ERROR_SUCCESS, "RegOpenKey failed: %d\n", res); - for(i = 0; i < sizeof(zone_domain_mappings)/sizeof(zone_domain_mappings[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(zone_domain_mappings); ++i) { const zone_domain_mapping *test = zone_domain_mappings+i; /* FIXME: Uses the "cludge" approach to remove the test data from the registry! @@ -939,7 +939,7 @@ static void test_zone_domain_mappings(void) RegCloseKey(domains); } - for(i = 0; i < sizeof(zone_mapping_tests)/sizeof(zone_mapping_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(zone_mapping_tests); ++i) { const zone_mapping_test *test = zone_mapping_tests+i; LPWSTR urlW = a2w(test->url); zone = URLZONE_INVALID; @@ -1363,7 +1363,7 @@ static void test_InternetGetSecurityUrl(void) trace("testing CoInternetGetSecurityUrl...\n"); - for(i=0; i<sizeof(in)/sizeof(WCHAR*); i++) { + for(i = 0; i < ARRAY_SIZE(in); i++) { hres = pCoInternetGetSecurityUrl(in[i], &sec, PSU_DEFAULT, 0); ok(hres == S_OK, "(%d) CoInternetGetSecurityUrl returned: %08x\n", i, hres); if(hres == S_OK) { @@ -1628,7 +1628,7 @@ static void test_InternetGetSecurityUrlEx(void) ok(hr == E_INVALIDARG, "CoInternetGetSecurityUrlEx returned 0x%08x, expected E_INVALIDARG\n", hr); ok(result == (void*) 0xdeadbeef, "'result' was %p\n", result); - for(i = 0; i < sizeof(sec_url_ex_tests)/sizeof(sec_url_ex_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(sec_url_ex_tests); ++i) { LPWSTR uriW = a2w(sec_url_ex_tests[i].uri); uri = NULL; @@ -1830,7 +1830,7 @@ static void test_SecurityManagerEx2(void) IUri_Release(uri); - for(i = 0; i < sizeof(sec_mgr_ex2_tests)/sizeof(sec_mgr_ex2_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(sec_mgr_ex2_tests); ++i) { LPWSTR uriW = a2w(sec_mgr_ex2_tests[i].uri); uri = NULL; @@ -1928,7 +1928,7 @@ static void test_CoInternetIsFeatureZoneElevationEnabled(void) trace("Testing CoInternetIsFeatureZoneElevationEnabled... (%x)\n", hres); - for(i=0; i<sizeof(testcases)/sizeof(testcases[0]); i++) { + for(i = 0; i < ARRAY_SIZE(testcases); i++) { if(hres==S_OK && testcases[i].flags == GET_FEATURE_FROM_PROCESS) testcases[i].policy_flags = URLPOLICY_ALLOW; } @@ -1943,7 +1943,7 @@ static void test_CoInternetIsFeatureZoneElevationEnabled(void) return; } - for(i=0; i<sizeof(testcases)/sizeof(testcases[0]); i++) { + for(i = 0; i < ARRAY_SIZE(testcases); i++) { url_from = a2w(testcases[i].url_from); url_to = a2w(testcases[i].url_to); diff --git a/modules/rostests/winetests/urlmon/uri.c b/modules/rostests/winetests/urlmon/uri.c index 90f51bf5dd..9069a9c176 100644 --- a/modules/rostests/winetests/urlmon/uri.c +++ b/modules/rostests/winetests/urlmon/uri.c @@ -7786,7 +7786,7 @@ static void change_property(IUriBuilder *builder, const uri_builder_property *pr static void test_CreateUri_InvalidFlags(void) { DWORD i; - for(i = 0; i < sizeof(invalid_flag_tests)/sizeof(invalid_flag_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(invalid_flag_tests); ++i) { HRESULT hr; IUri *uri = (void*) 0xdeadbeef; @@ -7825,7 +7825,7 @@ static void test_CreateUri_InvalidArgs(void) { static void test_CreateUri_InvalidUri(void) { DWORD i; - for(i = 0; i < sizeof(invalid_uri_tests)/sizeof(invalid_uri_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(invalid_uri_tests); ++i) { invalid_uri test = invalid_uri_tests[i]; IUri *uri = NULL; LPWSTR uriW; @@ -7877,7 +7877,7 @@ static void test_IUri_GetPropertyBSTR(void) { } if(uri) IUri_Release(uri); - for(i = 0; i < sizeof(uri_tests)/sizeof(uri_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(uri_tests); ++i) { uri_properties test = uri_tests[i]; LPWSTR uriW; uri = NULL; @@ -7937,7 +7937,7 @@ static void test_IUri_GetPropertyDWORD(void) { } if(uri) IUri_Release(uri); - for(i = 0; i < sizeof(uri_tests)/sizeof(uri_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(uri_tests); ++i) { uri_properties test = uri_tests[i]; LPWSTR uriW; uri = NULL; @@ -7952,7 +7952,7 @@ static void test_IUri_GetPropertyDWORD(void) { DWORD j; /* Checks all the DWORD properties of the uri. */ - for(j = 0; j < sizeof(test.dword_props)/sizeof(test.dword_props[0]); ++j) { + for(j = 0; j < ARRAY_SIZE(test.dword_props); ++j) { DWORD received; uri_dword_property prop = test.dword_props[j]; @@ -8029,7 +8029,7 @@ static void test_IUri_GetStrProperties(void) { } if(uri) IUri_Release(uri); - for(i = 0; i < sizeof(uri_tests)/sizeof(uri_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(uri_tests); ++i) { uri_properties test = uri_tests[i]; LPWSTR uriW; uri = NULL; @@ -8257,7 +8257,7 @@ static void test_IUri_GetDwordProperties(void) { } if(uri) IUri_Release(uri); - for(i = 0; i < sizeof(uri_tests)/sizeof(uri_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(uri_tests); ++i) { uri_properties test = uri_tests[i]; LPWSTR uriW; uri = NULL; @@ -8343,7 +8343,7 @@ static void test_IUri_GetPropertyLength(void) { } if(uri) IUri_Release(uri); - for(i = 0; i < sizeof(uri_tests)/sizeof(uri_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(uri_tests); ++i) { uri_properties test = uri_tests[i]; LPWSTR uriW; uri = NULL; @@ -8366,6 +8366,7 @@ static void test_IUri_GetPropertyLength(void) { /* Value may be unicode encoded */ expectedValueW = a2w(prop.value); expectedLen = lstrlenW(expectedValueW); + heap_free(expectedValueW); /* This won't be necessary once GetPropertyLength is implemented. */ receivedLen = -1; @@ -8426,7 +8427,7 @@ static void test_IUri_GetProperties(void) { } if(uri) IUri_Release(uri); - for(i = 0; i < sizeof(uri_tests)/sizeof(uri_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(uri_tests); ++i) { uri_properties test = uri_tests[i]; LPWSTR uriW; uri = NULL; @@ -8475,7 +8476,7 @@ static void test_IUri_HasProperty(void) { } if(uri) IUri_Release(uri); - for(i = 0; i < sizeof(uri_tests)/sizeof(uri_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(uri_tests); ++i) { uri_properties test = uri_tests[i]; LPWSTR uriW; uri = NULL; @@ -8515,7 +8516,225 @@ static void test_IUri_HasProperty(void) { } } +struct custom_uri { + IUri IUri_iface; + IUri *uri; +}; + +static inline struct custom_uri* impl_from_IUri(IUri *iface) +{ + return CONTAINING_RECORD(iface, struct custom_uri, IUri_iface); +} + +static HRESULT WINAPI custom_uri_QueryInterface(IUri *iface, REFIID iid, void **out) +{ + if (IsEqualIID(iid, &IID_IUri) || IsEqualIID(iid, &IID_IUnknown)) + { + *out = iface; + IUri_AddRef(iface); + return S_OK; + } + + *out = NULL; + return E_NOINTERFACE; +} + +static ULONG WINAPI custom_uri_AddRef(IUri *iface) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_AddRef(uri->uri); +} + +static ULONG WINAPI custom_uri_Release(IUri *iface) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_Release(uri->uri); +} + +static HRESULT WINAPI custom_uri_GetPropertyBSTR(IUri *iface, Uri_PROPERTY property, BSTR *value, DWORD flags) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetPropertyBSTR(uri->uri, property, value, flags); +} + +static HRESULT WINAPI custom_uri_GetPropertyLength(IUri *iface, Uri_PROPERTY property, DWORD *length, DWORD flags) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetPropertyLength(uri->uri, property, length, flags); +} + +static HRESULT WINAPI custom_uri_GetPropertyDWORD(IUri *iface, Uri_PROPERTY property, DWORD *value, DWORD flags) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetPropertyDWORD(uri->uri, property, value, flags); +} + +static HRESULT WINAPI custom_uri_HasProperty(IUri *iface, Uri_PROPERTY property, BOOL *has_property) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_HasProperty(uri->uri, property, has_property); +} + +static HRESULT WINAPI custom_uri_GetAbsoluteUri(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetAbsoluteUri(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetAuthority(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetAbsoluteUri(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetDisplayUri(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetAbsoluteUri(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetDomain(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetAbsoluteUri(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetExtension(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetAbsoluteUri(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetFragment(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetAbsoluteUri(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetHost(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetAbsoluteUri(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetPassword(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetAbsoluteUri(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetPath(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetAbsoluteUri(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetPathAndQuery(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetAbsoluteUri(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetQuery(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetAbsoluteUri(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetRawUri(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetAbsoluteUri(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetSchemeName(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetSchemeName(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetUserInfo(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetUserInfo(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetUserName(IUri *iface, BSTR *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetUserName(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetHostType(IUri *iface, DWORD *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetHostType(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetPort(IUri *iface, DWORD *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetPort(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetScheme(IUri *iface, DWORD *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetScheme(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetZone(IUri *iface, DWORD *value) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetZone(uri->uri, value); +} + +static HRESULT WINAPI custom_uri_GetProperties(IUri *iface, DWORD *flags) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_GetProperties(uri->uri, flags); +} + +static HRESULT WINAPI custom_uri_IsEqual(IUri *iface, IUri *pUri, BOOL *is_equal) +{ + struct custom_uri *uri = impl_from_IUri(iface); + return IUri_IsEqual(uri->uri, pUri, is_equal); +} + +static const IUriVtbl custom_uri_vtbl = +{ + custom_uri_QueryInterface, + custom_uri_AddRef, + custom_uri_Release, + custom_uri_GetPropertyBSTR, + custom_uri_GetPropertyLength, + custom_uri_GetPropertyDWORD, + custom_uri_HasProperty, + custom_uri_GetAbsoluteUri, + custom_uri_GetAuthority, + custom_uri_GetDisplayUri, + custom_uri_GetDomain, + custom_uri_GetExtension, + custom_uri_GetFragment, + custom_uri_GetHost, + custom_uri_GetPassword, + custom_uri_GetPath, + custom_uri_GetPathAndQuery, + custom_uri_GetQuery, + custom_uri_GetRawUri, + custom_uri_GetSchemeName, + custom_uri_GetUserInfo, + custom_uri_GetUserName, + custom_uri_GetHostType, + custom_uri_GetPort, + custom_uri_GetScheme, + custom_uri_GetZone, + custom_uri_GetProperties, + custom_uri_IsEqual, +}; + static void test_IUri_IsEqual(void) { + struct custom_uri custom_uri; IUri *uriA, *uriB; BOOL equal; HRESULT hres; @@ -8537,10 +8756,22 @@ static void test_IUri_IsEqual(void) { hres = IUri_IsEqual(uriA, uriB, NULL); ok(hres == E_POINTER, "Error: IsEqual returned 0x%08x, expected 0x%08x.\n", hres, E_POINTER); + equal = FALSE; + hres = IUri_IsEqual(uriA, uriA, &equal); + ok(hres == S_OK, "Error: IsEqual returned 0x%08x, expected 0x%08x.\n", hres, S_OK); + ok(equal, "Error: Expected equal URIs.\n"); + + equal = FALSE; + hres = IUri_IsEqual(uriA, uriB, &equal); + ok(hres == S_OK, "Error: IsEqual returned 0x%08x, expected 0x%08x.\n", hres, S_OK); + ok(equal, "Error: Expected equal URIs.\n"); + IUri_Release(uriA); IUri_Release(uriB); - for(i = 0; i < sizeof(equality_tests)/sizeof(equality_tests[0]); ++i) { + custom_uri.IUri_iface.lpVtbl = &custom_uri_vtbl; + + for(i = 0; i < ARRAY_SIZE(equality_tests); ++i) { uri_equality test = equality_tests[i]; LPWSTR uriA_W, uriB_W; @@ -8561,6 +8792,16 @@ static void test_IUri_IsEqual(void) { ok(hres == S_OK, "Error: IsEqual returned 0x%08x, expected 0x%08x on equality_tests[%d].\n", hres, S_OK, i); ok(equal == test.equal, "Error: Expected the comparison to be %d on equality_tests[%d].\n", test.equal, i); } + + custom_uri.uri = uriB; + + equal = -1; + hres = IUri_IsEqual(uriA, &custom_uri.IUri_iface, &equal); + todo_wine { + ok(hres == S_OK, "Error: IsEqual returned 0x%08x, expected 0x%08x on equality_tests[%d].\n", hres, S_OK, i); + ok(equal == test.equal, "Error: Expected the comparison to be %d on equality_tests[%d].\n", test.equal, i); + } + if(uriA) IUri_Release(uriA); if(uriB) IUri_Release(uriB); @@ -8592,7 +8833,7 @@ static void test_CreateUriWithFragment_InvalidArgs(void) { static void test_CreateUriWithFragment_InvalidFlags(void) { DWORD i; - for(i = 0; i < sizeof(invalid_flag_tests)/sizeof(invalid_flag_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(invalid_flag_tests); ++i) { HRESULT hr; IUri *uri = (void*) 0xdeadbeef; @@ -8606,7 +8847,7 @@ static void test_CreateUriWithFragment_InvalidFlags(void) { static void test_CreateUriWithFragment(void) { DWORD i; - for(i = 0; i < sizeof(uri_fragment_tests)/sizeof(uri_fragment_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(uri_fragment_tests); ++i) { HRESULT hr; IUri *uri = NULL; LPWSTR uriW, fragW; @@ -8685,7 +8926,7 @@ static void test_IUriBuilder_CreateUri(IUriBuilder *builder, const uri_builder_t if(SUCCEEDED(hr)) { DWORD i; - for(i = 0; i < sizeof(test->expected_str_props)/sizeof(test->expected_str_props[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(test->expected_str_props); ++i) { uri_builder_str_property prop = test->expected_str_props[i]; BSTR received = NULL; @@ -8703,7 +8944,7 @@ static void test_IUriBuilder_CreateUri(IUriBuilder *builder, const uri_builder_t SysFreeString(received); } - for(i = 0; i < sizeof(test->expected_dword_props)/sizeof(test->expected_dword_props[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(test->expected_dword_props); ++i) { uri_builder_dword_property prop = test->expected_dword_props[i]; DWORD received = -2; @@ -8737,7 +8978,7 @@ static void test_IUriBuilder_CreateUriSimple(IUriBuilder *builder, const uri_bui if(SUCCEEDED(hr)) { DWORD i; - for(i = 0; i < sizeof(test->expected_str_props)/sizeof(test->expected_str_props[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(test->expected_str_props); ++i) { uri_builder_str_property prop = test->expected_str_props[i]; BSTR received = NULL; @@ -8755,7 +8996,7 @@ static void test_IUriBuilder_CreateUriSimple(IUriBuilder *builder, const uri_bui SysFreeString(received); } - for(i = 0; i < sizeof(test->expected_dword_props)/sizeof(test->expected_dword_props[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(test->expected_dword_props); ++i) { uri_builder_dword_property prop = test->expected_dword_props[i]; DWORD received = -2; @@ -8790,7 +9031,7 @@ static void test_IUriBuilder_CreateUriWithFlags(IUriBuilder *builder, const uri_ if(SUCCEEDED(hr)) { DWORD i; - for(i = 0; i < sizeof(test->expected_str_props)/sizeof(test->expected_str_props[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(test->expected_str_props); ++i) { uri_builder_str_property prop = test->expected_str_props[i]; BSTR received = NULL; @@ -8808,7 +9049,7 @@ static void test_IUriBuilder_CreateUriWithFlags(IUriBuilder *builder, const uri_ SysFreeString(received); } - for(i = 0; i < sizeof(test->expected_dword_props)/sizeof(test->expected_dword_props[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(test->expected_dword_props); ++i) { uri_builder_dword_property prop = test->expected_dword_props[i]; DWORD received = -2; @@ -9051,7 +9292,7 @@ static void test_IUriBuilder_GetFragment(IUriBuilder *builder, const uri_builder const uri_builder_property *prop = NULL; /* Check if the property was set earlier. */ - for(i = 0; i < sizeof(test->properties)/sizeof(test->properties[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(test->properties); ++i) { if(test->properties[i].change && test->properties[i].property == Uri_PROPERTY_FRAGMENT) prop = &(test->properties[i]); } @@ -9146,7 +9387,7 @@ static void test_IUriBuilder_GetHost(IUriBuilder *builder, const uri_builder_tes const uri_builder_property *prop = NULL; /* Check if the property was set earlier. */ - for(i = 0; i < sizeof(test->properties)/sizeof(test->properties[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(test->properties); ++i) { if(test->properties[i].change && test->properties[i].property == Uri_PROPERTY_HOST) prop = &(test->properties[i]); } @@ -9241,7 +9482,7 @@ static void test_IUriBuilder_GetPassword(IUriBuilder *builder, const uri_builder const uri_builder_property *prop = NULL; /* Check if the property was set earlier. */ - for(i = 0; i < sizeof(test->properties)/sizeof(test->properties[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(test->properties); ++i) { if(test->properties[i].change && test->properties[i].property == Uri_PROPERTY_PASSWORD) prop = &(test->properties[i]); } @@ -9336,7 +9577,7 @@ static void test_IUriBuilder_GetPath(IUriBuilder *builder, const uri_builder_tes const uri_builder_property *prop = NULL; /* Check if the property was set earlier. */ - for(i = 0; i < sizeof(test->properties)/sizeof(test->properties[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(test->properties); ++i) { if(test->properties[i].change && test->properties[i].property == Uri_PROPERTY_PATH) prop = &(test->properties[i]); } @@ -9498,7 +9739,7 @@ static void test_IUriBuilder_GetQuery(IUriBuilder *builder, const uri_builder_te const uri_builder_property *prop = NULL; /* Check if the property was set earlier. */ - for(i = 0; i < sizeof(test->properties)/sizeof(test->properties[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(test->properties); ++i) { if(test->properties[i].change && test->properties[i].property == Uri_PROPERTY_QUERY) prop = &(test->properties[i]); } @@ -9593,7 +9834,7 @@ static void test_IUriBuilder_GetSchemeName(IUriBuilder *builder, const uri_build const uri_builder_property *prop = NULL; /* Check if the property was set earlier. */ - for(i = 0; i < sizeof(test->properties)/sizeof(test->properties[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(test->properties); ++i) { if(test->properties[i].change && test->properties[i].property == Uri_PROPERTY_SCHEME_NAME) prop = &(test->properties[i]); } @@ -9688,7 +9929,7 @@ static void test_IUriBuilder_GetUserName(IUriBuilder *builder, const uri_builder const uri_builder_property *prop = NULL; /* Check if the property was set earlier. */ - for(i = 0; i < sizeof(test->properties)/sizeof(test->properties[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(test->properties); ++i) { if(test->properties[i].change && test->properties[i].property == Uri_PROPERTY_USER_NAME) prop = &(test->properties[i]); } @@ -9780,7 +10021,7 @@ static void test_IUriBuilder(void) { IUriBuilder *builder; DWORD i; - for(i = 0; i < sizeof(uri_builder_tests)/sizeof(uri_builder_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(uri_builder_tests); ++i) { IUri *uri = NULL; uri_builder_test test = uri_builder_tests[i]; LPWSTR uriW = NULL; @@ -10132,7 +10373,7 @@ static void test_IUriBuilder_RemoveProperties(void) { } if(builder) IUriBuilder_Release(builder); - for(i = 0; i < sizeof(uri_builder_remove_tests)/sizeof(uri_builder_remove_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(uri_builder_remove_tests); ++i) { uri_builder_remove_test test = uri_builder_remove_tests[i]; IUri *uri = NULL; LPWSTR uriW; @@ -10288,7 +10529,7 @@ static void test_IUriBuilderFactory(void) { ok(hr == S_OK, "Error: GetIUri return 0x%08x, expected 0x%08x.\n", hr, S_OK); ok(tmp == uri, "Error: Expected tmp to be %p, but was %p.\n", uri, tmp); - if(uri) IUri_Release(uri); + if(tmp) IUri_Release(tmp); } if(builder) IUriBuilder_Release(builder); } @@ -10328,7 +10569,7 @@ static void test_CoInternetCombineIUri(void) { if(base) IUri_Release(base); if(relative) IUri_Release(relative); - for(i = 0; i < sizeof(uri_combine_tests)/sizeof(uri_combine_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(uri_combine_tests); ++i) { LPWSTR baseW = a2w(uri_combine_tests[i].base_uri); hr = pCreateUri(baseW, uri_combine_tests[i].base_create_flags, 0, &base); @@ -10349,7 +10590,7 @@ static void test_CoInternetCombineIUri(void) { if(SUCCEEDED(hr)) { DWORD j; - for(j = 0; j < sizeof(uri_combine_tests[i].str_props)/sizeof(uri_combine_tests[i].str_props[0]); ++j) { + for(j = 0; j < ARRAY_SIZE(uri_combine_tests[i].str_props); ++j) { uri_combine_str_property prop = uri_combine_tests[i].str_props[j]; BSTR received; @@ -10366,7 +10607,7 @@ static void test_CoInternetCombineIUri(void) { SysFreeString(received); } - for(j = 0; j < sizeof(uri_combine_tests[i].dword_props)/sizeof(uri_combine_tests[i].dword_props[0]); ++j) { + for(j = 0; j < ARRAY_SIZE(uri_combine_tests[i].dword_props); ++j) { uri_dword_property prop = uri_combine_tests[i].dword_props[j]; DWORD received; @@ -10619,7 +10860,7 @@ static void test_CoInternetCombineUrlEx(void) { hr, E_POINTER); if(base) IUri_Release(base); - for(i = 0; i < sizeof(uri_combine_tests)/sizeof(uri_combine_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(uri_combine_tests); ++i) { LPWSTR baseW = a2w(uri_combine_tests[i].base_uri); hr = pCreateUri(baseW, uri_combine_tests[i].base_create_flags, 0, &base); @@ -10636,7 +10877,7 @@ static void test_CoInternetCombineUrlEx(void) { if(SUCCEEDED(hr)) { DWORD j; - for(j = 0; j < sizeof(uri_combine_tests[i].str_props)/sizeof(uri_combine_tests[i].str_props[0]); ++j) { + for(j = 0; j < ARRAY_SIZE(uri_combine_tests[i].str_props); ++j) { uri_combine_str_property prop = uri_combine_tests[i].str_props[j]; BSTR received; LPCSTR value = (prop.value_ex) ? prop.value_ex : prop.value; @@ -10654,7 +10895,7 @@ static void test_CoInternetCombineUrlEx(void) { SysFreeString(received); } - for(j = 0; j < sizeof(uri_combine_tests[i].dword_props)/sizeof(uri_combine_tests[i].dword_props[0]); ++j) { + for(j = 0; j < ARRAY_SIZE(uri_combine_tests[i].dword_props); ++j) { uri_dword_property prop = uri_combine_tests[i].dword_props[j]; DWORD received; @@ -10776,7 +11017,7 @@ static void test_CoInternetParseIUri_InvalidArgs(void) { len = INTERNET_MAX_URL_LENGTH*2; longurl = heap_alloc((len+1)*sizeof(WCHAR)); memcpy(longurl, http_urlW, sizeof(http_urlW)); - for(i = sizeof(http_urlW)/sizeof(WCHAR)-1; i < len; i++) + for(i = ARRAY_SIZE(http_urlW)-1; i < len; i++) longurl[i] = 'x'; longurl[len] = 0; @@ -10803,7 +11044,7 @@ static void test_CoInternetParseIUri_InvalidArgs(void) { static void test_CoInternetParseIUri(void) { DWORD i; - for(i = 0; i < sizeof(uri_parse_tests)/sizeof(uri_parse_tests[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(uri_parse_tests); ++i) { HRESULT hr; IUri *uri; LPWSTR uriW; @@ -11001,7 +11242,7 @@ static void test_CreateURLMoniker(void) IUri *uri, *base_uri; HRESULT hres; - for(test = create_urlmon_tests; test < create_urlmon_tests + sizeof(create_urlmon_tests)/sizeof(*create_urlmon_tests); test++) { + for(test = create_urlmon_tests; test < create_urlmon_tests + ARRAY_SIZE(create_urlmon_tests); test++) { url = a2w(test->url); base_url = a2w(test->base_url); @@ -11100,7 +11341,7 @@ static void test_IPersistStream(void) props_order[Uri_PROPERTY_SCHEME_NAME] = 8; props_order[Uri_PROPERTY_USER_NAME] = 9; - for(i=0; i<sizeof(uri_tests)/sizeof(*uri_tests); i++) { + for(i = 0; i < ARRAY_SIZE(uri_tests); i++) { const uri_properties *test = uri_tests+i; LPWSTR uriW; IUri *uri; @@ -11298,6 +11539,7 @@ static void test_IPersistStream(void) ok(hr == S_OK, "%d) Error creating uninitialized Uri: 0x%08x.\n", i, hr); hr = IUri_QueryInterface(uri, &IID_IMarshal, (void**)&marshal); ok(hr == S_OK, "%d) QueryInterface failed 0x%08x, expected S_OK.\n", i, hr); + IUri_Release(uri); hr = IMarshal_UnmarshalInterface(marshal, stream, &IID_IUri, (void**)&uri); ok(hr == S_OK, "%d) UnmarshalInterface failed 0x%08x, expected S_OK.\n", i, hr); hr = IUri_GetRawUri(uri, &raw_uri); diff --git a/modules/rostests/winetests/urlmon/url.c b/modules/rostests/winetests/urlmon/url.c index 9fe238533a..ada78c930b 100644 --- a/modules/rostests/winetests/urlmon/url.c +++ b/modules/rostests/winetests/urlmon/url.c @@ -1929,8 +1929,8 @@ static HRESULT WINAPI statusclb_OnStopBinding(IBindStatusCallbackEx *iface, HRES } if(test_protocol == HTTP_TEST && !emulate_protocol && http_cache_file[0]) { - HANDLE file = CreateFileW(http_cache_file, DELETE, FILE_SHARE_DELETE, NULL, - OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + HANDLE file = CreateFileW(http_cache_file, DELETE, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, + NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); ok(file == INVALID_HANDLE_VALUE, "expected INVALID_HANDLE_VALUE, got %p\n", file); ok(GetLastError() == ERROR_SHARING_VIOLATION, "expected ERROR_SHARING_VIOLATION, got %u\n", GetLastError()); http_cache_file[0] = 0; @@ -2912,7 +2912,7 @@ static void init_bind_test(int protocol, DWORD flags, DWORD t) } if(url_a) - MultiByteToWideChar(CP_ACP, 0, url_a, -1, current_url, sizeof(current_url)/sizeof(*current_url)); + MultiByteToWideChar(CP_ACP, 0, url_a, -1, current_url, ARRAY_SIZE(current_url)); test_redirect = (flags & BINDTEST_REDIRECT) != 0; use_cache_file = (flags & BINDTEST_USE_CACHE) != 0;
5 years, 10 months
1
0
0
0
[reactos] 01/01: [URLMON] Sync with Wine Staging 4.0. CORE-15682
by Amine Khaldi
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ad73c0a040071d03666d8…
commit ad73c0a040071d03666d844309552c50dea596fe Author: Amine Khaldi <amine.khaldi(a)reactos.org> AuthorDate: Mon Feb 4 13:04:30 2019 +0100 Commit: Amine Khaldi <amine.khaldi(a)reactos.org> CommitDate: Mon Feb 4 13:04:30 2019 +0100 [URLMON] Sync with Wine Staging 4.0. CORE-15682 --- dll/win32/urlmon/axinstall.c | 24 ++++++++++++------------ dll/win32/urlmon/binding.c | 2 +- dll/win32/urlmon/file.c | 2 +- dll/win32/urlmon/http.c | 4 ++-- dll/win32/urlmon/internet.c | 2 +- dll/win32/urlmon/mimefilter.c | 14 +++++++------- dll/win32/urlmon/sec_mgr.c | 8 ++++---- dll/win32/urlmon/session.c | 10 ++++------ dll/win32/urlmon/umon.c | 4 ++-- dll/win32/urlmon/uri.c | 18 +++++++++--------- dll/win32/urlmon/urlmon_main.c | 8 ++++---- media/doc/README.WINE | 2 +- 12 files changed, 48 insertions(+), 50 deletions(-) diff --git a/dll/win32/urlmon/axinstall.c b/dll/win32/urlmon/axinstall.c index d2cf7e6d85..5eac00d46c 100644 --- a/dll/win32/urlmon/axinstall.c +++ b/dll/win32/urlmon/axinstall.c @@ -154,12 +154,12 @@ static void expand_command(install_ctx_t *ctx, const WCHAR *cmd, WCHAR *buf, siz memcpy(buf+len, prev_ptr, ptr-prev_ptr); len += ptr-prev_ptr; - if(!strncmpiW(ptr, expand_dirW, sizeof(expand_dirW)/sizeof(WCHAR))) { + if(!strncmpiW(ptr, expand_dirW, ARRAY_SIZE(expand_dirW))) { len2 = strlenW(ctx->tmp_dir); if(buf) memcpy(buf+len, ctx->tmp_dir, len2*sizeof(WCHAR)); len += len2; - ptr += sizeof(expand_dirW)/sizeof(WCHAR); + ptr += ARRAY_SIZE(expand_dirW); }else { FIXME("Can't expand %s\n", debugstr_w(ptr)); if(buf) @@ -185,7 +185,7 @@ static HRESULT process_hook_section(install_ctx_t *ctx, const WCHAR *sect_name) static const WCHAR runW[] = {'r','u','n',0}; - len = GetPrivateProfileStringW(sect_name, NULL, NULL, buf, sizeof(buf)/sizeof(*buf), ctx->install_file); + len = GetPrivateProfileStringW(sect_name, NULL, NULL, buf, ARRAY_SIZE(buf), ctx->install_file); if(!len) return S_OK; @@ -194,7 +194,7 @@ static HRESULT process_hook_section(install_ctx_t *ctx, const WCHAR *sect_name) WCHAR *cmd; size_t size; - len = GetPrivateProfileStringW(sect_name, runW, NULL, val, sizeof(val)/sizeof(*val), ctx->install_file); + len = GetPrivateProfileStringW(sect_name, runW, NULL, val, ARRAY_SIZE(val), ctx->install_file); TRACE("Run %s\n", debugstr_w(val)); @@ -229,14 +229,14 @@ static HRESULT install_inf_file(install_ctx_t *ctx) static const WCHAR setup_hooksW[] = {'S','e','t','u','p',' ','H','o','o','k','s',0}; static const WCHAR add_codeW[] = {'A','d','d','.','C','o','d','e',0}; - len = GetPrivateProfileStringW(setup_hooksW, NULL, NULL, buf, sizeof(buf)/sizeof(*buf), ctx->install_file); + len = GetPrivateProfileStringW(setup_hooksW, NULL, NULL, buf, ARRAY_SIZE(buf), ctx->install_file); if(len) { default_install = FALSE; for(key = buf; *key; key += strlenW(key)+1) { TRACE("[Setup Hooks] key: %s\n", debugstr_w(key)); - len = GetPrivateProfileStringW(setup_hooksW, key, NULL, sect_name, sizeof(sect_name)/sizeof(*sect_name), + len = GetPrivateProfileStringW(setup_hooksW, key, NULL, sect_name, ARRAY_SIZE(sect_name), ctx->install_file); if(!len) { WARN("Could not get key value\n"); @@ -249,14 +249,14 @@ static HRESULT install_inf_file(install_ctx_t *ctx) } } - len = GetPrivateProfileStringW(add_codeW, NULL, NULL, buf, sizeof(buf)/sizeof(*buf), ctx->install_file); + len = GetPrivateProfileStringW(add_codeW, NULL, NULL, buf, ARRAY_SIZE(buf), ctx->install_file); if(len) { default_install = FALSE; for(key = buf; *key; key += strlenW(key)+1) { TRACE("[Add.Code] key: %s\n", debugstr_w(key)); - len = GetPrivateProfileStringW(add_codeW, key, NULL, sect_name, sizeof(sect_name)/sizeof(*sect_name), + len = GetPrivateProfileStringW(add_codeW, key, NULL, sect_name, ARRAY_SIZE(sect_name), ctx->install_file); if(!len) { WARN("Could not get key value\n"); @@ -290,7 +290,7 @@ static HRESULT install_cab_file(install_ctx_t *ctx) DWORD i; HRESULT hres; - GetTempPathW(sizeof(tmp_path)/sizeof(WCHAR), tmp_path); + GetTempPathW(ARRAY_SIZE(tmp_path), tmp_path); for(i=0; !res && i < 100; i++) { GetTempFileNameW(tmp_path, NULL, GetTickCount() + i*17037, tmp_dir); @@ -336,13 +336,13 @@ static void update_counter(install_ctx_t *ctx, HWND hwnd) HWND button_hwnd; KillTimer(hwnd, ctx->timer); - LoadStringW(urlmon_instance, IDS_AXINSTALL_INSTALL, text, sizeof(text)/sizeof(WCHAR)); + LoadStringW(urlmon_instance, IDS_AXINSTALL_INSTALL, text, ARRAY_SIZE(text)); button_hwnd = GetDlgItem(hwnd, ID_AXINSTALL_INSTALL_BTN); EnableWindow(button_hwnd, TRUE); }else { WCHAR buf[100]; - LoadStringW(urlmon_instance, IDS_AXINSTALL_INSTALLN, buf, sizeof(buf)/sizeof(WCHAR)); + LoadStringW(urlmon_instance, IDS_AXINSTALL_INSTALLN, buf, ARRAY_SIZE(buf)); sprintfW(text, buf, ctx->counter); } @@ -476,7 +476,7 @@ static void failure_msgbox(install_ctx_t *ctx, HRESULT hres) { WCHAR buf[1024], fmt[1024]; - LoadStringW(urlmon_instance, IDS_AXINSTALL_FAILURE, fmt, sizeof(fmt)/sizeof(WCHAR)); + LoadStringW(urlmon_instance, IDS_AXINSTALL_FAILURE, fmt, ARRAY_SIZE(fmt)); sprintfW(buf, fmt, hres); MessageBoxW(ctx->hwnd, buf, NULL, MB_OK); } diff --git a/dll/win32/urlmon/binding.c b/dll/win32/urlmon/binding.c index c2879b21c5..fdabdfcc81 100644 --- a/dll/win32/urlmon/binding.c +++ b/dll/win32/urlmon/binding.c @@ -202,7 +202,7 @@ static LPWSTR get_mime_clsid(LPCWSTR mime, CLSID *clsid) len = strlenW(mime)+1; key_name = heap_alloc(sizeof(mime_keyW) + len*sizeof(WCHAR)); memcpy(key_name, mime_keyW, sizeof(mime_keyW)); - strcpyW(key_name + sizeof(mime_keyW)/sizeof(WCHAR), mime); + strcpyW(key_name + ARRAY_SIZE(mime_keyW), mime); res = RegOpenKeyW(HKEY_CLASSES_ROOT, key_name, &hkey); heap_free(key_name); diff --git a/dll/win32/urlmon/file.c b/dll/win32/urlmon/file.c index 9e7f3cf184..11e6ecee90 100644 --- a/dll/win32/urlmon/file.c +++ b/dll/win32/urlmon/file.c @@ -304,7 +304,7 @@ static HRESULT WINAPI FileProtocol_StartEx(IInternetProtocolEx *iface, IUri *pUr IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_SENDINGREQUEST, &null_char); size = 0; - hres = CoInternetParseIUri(pUri, PARSE_PATH_FROM_URL, 0, path, sizeof(path)/sizeof(WCHAR), &size, 0); + hres = CoInternetParseIUri(pUri, PARSE_PATH_FROM_URL, 0, path, ARRAY_SIZE(path), &size, 0); if(FAILED(hres)) { WARN("CoInternetParseIUri failed: %08x\n", hres); return report_result(pOIProtSink, hres, 0); diff --git a/dll/win32/urlmon/http.c b/dll/win32/urlmon/http.c index 5fcbd54174..1762787d09 100644 --- a/dll/win32/urlmon/http.c +++ b/dll/win32/urlmon/http.c @@ -342,7 +342,7 @@ static HRESULT HttpProtocol_open_request(Protocol *prot, IUri *uri, DWORD reques CoTaskMemFree(rootdoc_url); } - num = sizeof(accept_mimes)/sizeof(accept_mimes[0])-1; + num = ARRAY_SIZE(accept_mimes) - 1; hres = IInternetBindInfo_GetBindString(bind_info, BINDSTRING_ACCEPT_MIMES, accept_mimes, num, &num); if(hres == INET_E_USE_DEFAULT_SETTING) { static const WCHAR default_accept_mimeW[] = {'*','/','*',0}; @@ -428,7 +428,7 @@ static HRESULT HttpProtocol_open_request(Protocol *prot, IUri *uri, DWORD reques WARN("IServiceProvider_QueryService IID_IHttpNegotiate2 failed: %08x\n", hres); /* No goto done as per native */ }else { - len = sizeof(security_id)/sizeof(security_id[0]); + len = ARRAY_SIZE(security_id); hres = IHttpNegotiate2_GetRootSecurityId(http_negotiate2, security_id, &len, 0); IHttpNegotiate2_Release(http_negotiate2); if (hres != S_OK) diff --git a/dll/win32/urlmon/internet.c b/dll/win32/urlmon/internet.c index 28aaa0b43c..7c997a03b0 100644 --- a/dll/win32/urlmon/internet.c +++ b/dll/win32/urlmon/internet.c @@ -588,7 +588,7 @@ static HRESULT load_process_feature(INTERNETFEATURELIST feature) BOOL check_hklm = FALSE; BOOL enabled; - if (!GetModuleFileNameW(NULL, module_name, sizeof(module_name)/sizeof(WCHAR))) { + if (!GetModuleFileNameW(NULL, module_name, ARRAY_SIZE(module_name))) { ERR("Failed to get module file name: %u\n", GetLastError()); return E_UNEXPECTED; } diff --git a/dll/win32/urlmon/mimefilter.c b/dll/win32/urlmon/mimefilter.c index e12c2b7196..7904bf90f4 100644 --- a/dll/win32/urlmon/mimefilter.c +++ b/dll/win32/urlmon/mimefilter.c @@ -547,12 +547,12 @@ static BOOL is_known_mime_type(const WCHAR *mime) { unsigned i; - for(i=0; i < sizeof(mime_filters_any_pos)/sizeof(*mime_filters_any_pos); i++) { + for(i=0; i < ARRAY_SIZE(mime_filters_any_pos); i++) { if(!strcmpW(mime, mime_filters_any_pos[i].mime)) return TRUE; } - for(i=0; i < sizeof(mime_filters)/sizeof(*mime_filters); i++) { + for(i=0; i < ARRAY_SIZE(mime_filters); i++) { if(!strcmpW(mime, mime_filters[i].mime)) return TRUE; } @@ -585,7 +585,7 @@ static HRESULT find_mime_from_buffer(const BYTE *buf, DWORD size, const WCHAR *p if(proposed_mime) { ret = proposed_mime; - for(i=0; i < sizeof(mime_filters_any_pos)/sizeof(*mime_filters_any_pos); i++) { + for(i=0; i < ARRAY_SIZE(mime_filters_any_pos); i++) { if(!strcmpW(proposed_mime, mime_filters_any_pos[i].mime)) { any_pos_mime = i; for(len=size; len>0; len--) { @@ -598,8 +598,8 @@ static HRESULT find_mime_from_buffer(const BYTE *buf, DWORD size, const WCHAR *p } } - if(i == sizeof(mime_filters_any_pos)/sizeof(*mime_filters_any_pos)) { - for(i=0; i < sizeof(mime_filters)/sizeof(*mime_filters); i++) { + if(i == ARRAY_SIZE(mime_filters_any_pos)) { + for(i=0; i < ARRAY_SIZE(mime_filters); i++) { if(!strcmpW(proposed_mime, mime_filters[i].mime)) { if(!mime_filters[i].filter(buf, size)) ret = NULL; @@ -613,7 +613,7 @@ static HRESULT find_mime_from_buffer(const BYTE *buf, DWORD size, const WCHAR *p * are not looked for if none of them was proposed */ if(!proposed_mime || any_pos_mime!=-1) { for(len=size; !ret && len>0; len--) { - for(i=0; i<sizeof(mime_filters_any_pos)/sizeof(*mime_filters_any_pos); i++) { + for(i=0; i<ARRAY_SIZE(mime_filters_any_pos); i++) { if(mime_filters_any_pos[i].filter(buf+size-len, len)) { ret = mime_filters_any_pos[i].mime; break; @@ -635,7 +635,7 @@ static HRESULT find_mime_from_buffer(const BYTE *buf, DWORD size, const WCHAR *p for(len=size; ret==app_octetstreamW && len>0; len--) { if(!is_text_plain_char(buf[size-len])) break; - for(i=0; i<sizeof(mime_filters_any_pos)/sizeof(*mime_filters_any_pos); i++) { + for(i=0; i<ARRAY_SIZE(mime_filters_any_pos); i++) { if(mime_filters_any_pos[i].filter(buf+size-len, len)) { ret = text_plainW; break; diff --git a/dll/win32/urlmon/sec_mgr.c b/dll/win32/urlmon/sec_mgr.c index eab155d54b..5f62068127 100644 --- a/dll/win32/urlmon/sec_mgr.c +++ b/dll/win32/urlmon/sec_mgr.c @@ -547,7 +547,7 @@ static HRESULT map_security_uri_to_zone(IUri *uri, DWORD *zone) else path_start = path; - if((ptr = strchrW(path_start, ':')) && ptr-path_start+1 < sizeof(root)/sizeof(WCHAR)) { + if((ptr = strchrW(path_start, ':')) && ptr-path_start+1 < ARRAY_SIZE(root)) { UINT type; memcpy(root, path_start, (ptr-path_start+1)*sizeof(WCHAR)); @@ -645,7 +645,7 @@ static HRESULT open_zone_key(HKEY parent_key, DWORD zone, HKEY *hkey) { static const WCHAR wszFormat[] = {'%','s','%','u',0}; - WCHAR key_name[sizeof(wszZonesKey)/sizeof(WCHAR)+12]; + WCHAR key_name[ARRAY_SIZE(wszZonesKey) + 12]; DWORD res; wsprintfW(key_name, wszFormat, wszZonesKey, zone); @@ -1307,7 +1307,7 @@ static LPDWORD build_zonemap_from_reg(void) while (!res) { name[0] = '\0'; - len = sizeof(name) / sizeof(name[0]); + len = ARRAY_SIZE(name); res = RegEnumKeyExW(hkey, used, name, &len, NULL, NULL, NULL, NULL); if (!res) { @@ -2052,7 +2052,7 @@ HRESULT WINAPI CoInternetGetSecurityUrlEx(IUri *pUri, IUri **ppSecUri, PSUACTION const WCHAR *tmp = ret_url; /* Check and see if a "//" is after the scheme name. */ - tmp += sizeof(fileW)/sizeof(WCHAR); + tmp += ARRAY_SIZE(fileW); if(*tmp != '/' || *(tmp+1) != '/') hres = E_INVALIDARG; } diff --git a/dll/win32/urlmon/session.c b/dll/win32/urlmon/session.c index dea1c9f121..34ff5448fb 100644 --- a/dll/win32/urlmon/session.c +++ b/dll/win32/urlmon/session.c @@ -86,7 +86,7 @@ static HRESULT get_protocol_cf(LPCWSTR schema, DWORD schema_len, CLSID *pclsid, wszKey = heap_alloc(sizeof(wszProtocolsKey)+(schema_len+1)*sizeof(WCHAR)); memcpy(wszKey, wszProtocolsKey, sizeof(wszProtocolsKey)); - memcpy(wszKey + sizeof(wszProtocolsKey)/sizeof(WCHAR), schema, (schema_len+1)*sizeof(WCHAR)); + memcpy(wszKey + ARRAY_SIZE(wszProtocolsKey), schema, (schema_len+1)*sizeof(WCHAR)); res = RegOpenKeyW(HKEY_CLASSES_ROOT, wszKey, &hkey); heap_free(wszKey); @@ -171,8 +171,7 @@ BOOL is_registered_protocol(LPCWSTR url) WCHAR schema[64]; HRESULT hres; - hres = CoInternetParseUrl(url, PARSE_SCHEMA, 0, schema, sizeof(schema)/sizeof(schema[0]), - &schema_len, 0); + hres = CoInternetParseUrl(url, PARSE_SCHEMA, 0, schema, ARRAY_SIZE(schema), &schema_len, 0); if(FAILED(hres)) return FALSE; @@ -188,8 +187,7 @@ IInternetProtocolInfo *get_protocol_info(LPCWSTR url) DWORD schema_len; HRESULT hres; - hres = CoInternetParseUrl(url, PARSE_SCHEMA, 0, schema, sizeof(schema)/sizeof(schema[0]), - &schema_len, 0); + hres = CoInternetParseUrl(url, PARSE_SCHEMA, 0, schema, ARRAY_SIZE(schema), &schema_len, 0); if(FAILED(hres) || !schema_len) return NULL; @@ -578,7 +576,7 @@ static void ensure_useragent(void) DWORD value_len; while(1) { - value_len = sizeof(buf)/sizeof(WCHAR); + value_len = ARRAY_SIZE(buf); res = RegEnumValueW(key, idx, buf, &value_len, NULL, NULL, NULL, NULL); if(res != ERROR_SUCCESS) break; diff --git a/dll/win32/urlmon/umon.c b/dll/win32/urlmon/umon.c index 9e46319358..116f593348 100644 --- a/dll/win32/urlmon/umon.c +++ b/dll/win32/urlmon/umon.c @@ -627,7 +627,7 @@ HRESULT WINAPI CreateURLMonikerEx(IMoniker *pmkContext, LPCWSTR szURL, IMoniker if (!szURL || !ppmk) return E_INVALIDARG; - if(dwFlags >= sizeof(create_flags_map)/sizeof(*create_flags_map)) { + if(dwFlags >= ARRAY_SIZE(create_flags_map)) { FIXME("Unsupported flags %x\n", dwFlags); return E_INVALIDARG; } @@ -680,7 +680,7 @@ HRESULT WINAPI CreateURLMonikerEx2(IMoniker *pmkContext, IUri *pUri, IMoniker ** if (!pUri || !ppmk) return E_INVALIDARG; - if(dwFlags >= sizeof(create_flags_map)/sizeof(*create_flags_map)) { + if(dwFlags >= ARRAY_SIZE(create_flags_map)) { FIXME("Unsupported flags %x\n", dwFlags); return E_INVALIDARG; } diff --git a/dll/win32/urlmon/uri.c b/dll/win32/urlmon/uri.c index 8de3161a7b..92978dc53f 100644 --- a/dll/win32/urlmon/uri.c +++ b/dll/win32/urlmon/uri.c @@ -365,7 +365,7 @@ static inline BOOL is_ascii(WCHAR c) static BOOL is_default_port(URL_SCHEME scheme, DWORD port) { DWORD i; - for(i = 0; i < sizeof(default_ports)/sizeof(default_ports[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(default_ports); ++i) { if(default_ports[i].scheme == scheme && default_ports[i].port) return TRUE; } @@ -556,7 +556,7 @@ void find_domain_name(const WCHAR *host, DWORD host_len, * Ex: edu.uk -> has no domain name. * foo.uk -> foo.uk as the domain name. */ - for(i = 0; i < sizeof(recognized_tlds)/sizeof(recognized_tlds[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(recognized_tlds); ++i) { if(!StrCmpNIW(host, recognized_tlds[i].tld_name, 3)) return; } @@ -584,7 +584,7 @@ void find_domain_name(const WCHAR *host, DWORD host_len, *
www.google.foo.uk
-> foo.uk as the domain name. */ if(last_tld - (sec_last_tld+1) == 3) { - for(i = 0; i < sizeof(recognized_tlds)/sizeof(recognized_tlds[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(recognized_tlds); ++i) { if(!StrCmpNIW(sec_last_tld+1, recognized_tlds[i].tld_name, 3)) { const WCHAR *domain = memrchrW(host, '.', sec_last_tld-host); @@ -1134,7 +1134,7 @@ static BOOL parse_scheme_type(parse_data *data) { if(data->scheme && data->scheme_len) { DWORD i; - for(i = 0; i < sizeof(recognized_schemes)/sizeof(recognized_schemes[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(recognized_schemes); ++i) { if(lstrlenW(recognized_schemes[i].scheme_name) == data->scheme_len) { /* Has to be a case insensitive compare. */ if(!StrCmpNIW(recognized_schemes[i].scheme_name, data->scheme, data->scheme_len)) { @@ -2728,7 +2728,7 @@ static BOOL canonicalize_port(const parse_data *data, Uri *uri, DWORD flags, BOO uri->port_offset = -1; /* Check if the scheme has a default port. */ - for(i = 0; i < sizeof(default_ports)/sizeof(default_ports[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(default_ports); ++i) { if(default_ports[i].scheme == data->scheme_type) { has_default_port = TRUE; default_port = default_ports[i].port; @@ -3154,7 +3154,7 @@ static BOOL canonicalize_hierpart(const parse_data *data, Uri *uri, DWORD flags, uri->display_modifiers |= URI_DISPLAY_NO_ABSOLUTE_URI; /* Windows also sets the port for these (if they have one). */ - for(i = 0; i < sizeof(default_ports)/sizeof(default_ports[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(default_ports); ++i) { if(data->scheme_type == default_ports[i].scheme) { uri->has_port = TRUE; uri->port = default_ports[i].port; @@ -4121,7 +4121,7 @@ static DWORD generate_raw_uri(const parse_data *data, BSTR uri, DWORD flags) { DWORD i; BOOL is_default = FALSE; - for(i = 0; i < sizeof(default_ports)/sizeof(default_ports[0]); ++i) { + for(i = 0; i < ARRAY_SIZE(default_ports); ++i) { if(data->scheme_type == default_ports[i].scheme && data->port_value == default_ports[i].port) is_default = TRUE; @@ -7002,7 +7002,7 @@ static HRESULT parse_rootdocument(const Uri *uri, LPWSTR output, DWORD output_le memcpy(ptr, colon_slashesW, sizeof(colon_slashesW)); /* Add the authority. */ - ptr += sizeof(colon_slashesW)/sizeof(WCHAR); + ptr += ARRAY_SIZE(colon_slashesW); memcpy(ptr, uri->canon_uri+uri->authority_start, uri->authority_len*sizeof(WCHAR)); /* Add the '/' after the authority. */ @@ -7066,7 +7066,7 @@ static HRESULT parse_path_from_url(const Uri *uri, LPWSTR output, DWORD output_l static const WCHAR slash_slashW[] = {'\\','\\'}; memcpy(ptr, slash_slashW, sizeof(slash_slashW)); - ptr += sizeof(slash_slashW)/sizeof(WCHAR); + ptr += ARRAY_SIZE(slash_slashW); memcpy(ptr, uri->canon_uri+uri->host_start, uri->host_len*sizeof(WCHAR)); ptr += uri->host_len; } diff --git a/dll/win32/urlmon/urlmon_main.c b/dll/win32/urlmon/urlmon_main.c index 5968a6ce55..06f0698efa 100644 --- a/dll/win32/urlmon/urlmon_main.c +++ b/dll/win32/urlmon/urlmon_main.c @@ -409,7 +409,7 @@ static void init_session(void) { unsigned int i; - for(i=0; i < sizeof(object_creation)/sizeof(object_creation[0]); i++) { + for(i = 0; i < ARRAY_SIZE(object_creation); i++) { if(object_creation[i].protocol) register_namespace(object_creation[i].cf, object_creation[i].clsid, object_creation[i].protocol, TRUE); @@ -438,10 +438,10 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) { unsigned int i; HRESULT hr; - + TRACE("(%s,%s,%p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv); - - for (i=0; i < sizeof(object_creation)/sizeof(object_creation[0]); i++) + + for (i = 0; i < ARRAY_SIZE(object_creation); i++) { if (IsEqualGUID(object_creation[i].clsid, rclsid)) return IClassFactory_QueryInterface(object_creation[i].cf, riid, ppv); diff --git a/media/doc/README.WINE b/media/doc/README.WINE index f54597c716..3945ea4308 100644 --- a/media/doc/README.WINE +++ b/media/doc/README.WINE @@ -188,7 +188,7 @@ reactos/dll/win32/traffic # Synced to WineStaging-3.3 reactos/dll/win32/twain_32 # Synced to WineStaging-3.3 reactos/dll/win32/updspapi # Synced to WineStaging-3.3 reactos/dll/win32/url # Synced to WineStaging-3.3 -reactos/dll/win32/urlmon # Synced to WineStaging-3.9 +reactos/dll/win32/urlmon # Synced to WineStaging-4.0 reactos/dll/win32/usp10 # Synced to WineStaging-3.9 reactos/dll/win32/uxtheme # Forked reactos/dll/win32/vbscript # Synced to WineStaging-3.9
5 years, 10 months
1
0
0
0
[reactos] 01/01: [TWAIN_32_WINETEST] Sync with Wine Staging 4.0. CORE-15682
by Amine Khaldi
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f4c8f8de724b2a34d46e3…
commit f4c8f8de724b2a34d46e345afe50d685e10c6edb Author: Amine Khaldi <amine.khaldi(a)reactos.org> AuthorDate: Mon Feb 4 13:03:56 2019 +0100 Commit: Amine Khaldi <amine.khaldi(a)reactos.org> CommitDate: Mon Feb 4 13:03:56 2019 +0100 [TWAIN_32_WINETEST] Sync with Wine Staging 4.0. CORE-15682 --- modules/rostests/winetests/twain_32/dsm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/rostests/winetests/twain_32/dsm.c b/modules/rostests/winetests/twain_32/dsm.c index ab6e84fd6a..1e9764dccb 100644 --- a/modules/rostests/winetests/twain_32/dsm.c +++ b/modules/rostests/winetests/twain_32/dsm.c @@ -663,7 +663,7 @@ static void test_single_source(TW_IDENTITY *appid, TW_IDENTITY *source) UINT16 *u = (UINT16 *) a->ItemList; trace("%d Capabilities:\n", a->NumItems); for (i = 0; i < a->NumItems; i++) - if (u[i] < sizeof(capabilities) / sizeof(capabilities[0])) + if (u[i] < ARRAY_SIZE(capabilities)) { capabilities[u[i]] = 1; trace(" %d: 0x%x\n", i, u[i]);
5 years, 10 months
1
0
0
0
← Newer
1
...
13
14
15
16
17
18
19
20
21
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
Results per page:
10
25
50
100
200