winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
October 2007
----- 2025 -----
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
4 participants
996 discussions
Start a n
N
ew thread
David Adam : d3dx8: Implement D3DXPlaneDotNormalize.
by Alexandre Julliard
24 Oct '07
24 Oct '07
Module: wine Branch: master Commit: a00353b394547356e6f8bb99b0e40079f996cba6 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=a00353b394547356e6f8bb99b…
Author: David Adam <David.Adam(a)math.cnrs.fr> Date: Tue Oct 23 11:06:33 2007 +0200 d3dx8: Implement D3DXPlaneDotNormalize. --- dlls/d3dx8/tests/math.c | 11 +++++++++++ include/d3dx8math.inl | 6 ++++++ 2 files changed, 17 insertions(+), 0 deletions(-) diff --git a/dlls/d3dx8/tests/math.c b/dlls/d3dx8/tests/math.c index c318a45..e73a619 100644 --- a/dlls/d3dx8/tests/math.c +++ b/dlls/d3dx8/tests/math.c @@ -60,6 +60,17 @@ static void D3DXPlaneTest(void) expected = 0.0f; got = D3DXPlaneDotCoord(NULL,NULL), ok( expected == got, "Expected : %f, Got : %f\n",expected, got); + +/*_______________D3DXPlaneDotNormal______________*/ + expected = -35.0f; + got = D3DXPlaneDotNormal(&plane,&vec), + ok( expected == got, "Expected : %f, Got : %f\n",expected, got); + expected = 0.0f; + got = D3DXPlaneDotNormal(NULL,&vec), + ok( expected == got, "Expected : %f, Got : %f\n",expected, got); + expected = 0.0f; + got = D3DXPlaneDotNormal(NULL,NULL), + ok( expected == got, "Expected : %f, Got : %f\n",expected, got); } static void D3X8QuaternionTest(void) diff --git a/include/d3dx8math.inl b/include/d3dx8math.inl index e8e6a02..71f9641 100644 --- a/include/d3dx8math.inl +++ b/include/d3dx8math.inl @@ -270,6 +270,12 @@ static inline FLOAT D3DXPlaneDotCoord(CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv return ( (pp->a) * (pv->x) + (pp->b) * (pv->y) + (pp->c) * (pv->z) + (pp->d) ); } +static inline FLOAT D3DXPlaneDotNormal(CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv) +{ + if ( !pp || !pv ) return 0.0f; + return ( (pp->a) * (pv->x) + (pp->b) * (pv->y) + (pp->c) * (pv->z) ); +} + /*__________________D3DXQUATERNION____________________*/ static inline D3DXQUATERNION* D3DXQuaternionConjugate(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq)
1
0
0
0
David Adam : d3dx8: Implement D3DXPlaneDotCoord.
by Alexandre Julliard
24 Oct '07
24 Oct '07
Module: wine Branch: master Commit: 3247fa0d673df68603d97c45a20d8f63cc6909da URL:
http://source.winehq.org/git/wine.git/?a=commit;h=3247fa0d673df68603d97c45a…
Author: David Adam <David.Adam(a)math.cnrs.fr> Date: Tue Oct 23 11:01:43 2007 +0200 d3dx8: Implement D3DXPlaneDotCoord. --- dlls/d3dx8/tests/math.c | 11 +++++++++++ include/d3dx8math.inl | 8 +++++++- 2 files changed, 18 insertions(+), 1 deletions(-) diff --git a/dlls/d3dx8/tests/math.c b/dlls/d3dx8/tests/math.c index 2d5bdbb..c318a45 100644 --- a/dlls/d3dx8/tests/math.c +++ b/dlls/d3dx8/tests/math.c @@ -49,6 +49,17 @@ static void D3DXPlaneTest(void) expected = 0.0f; got = D3DXPlaneDot(NULL,NULL), ok( expected == got, "Expected : %f, Got : %f\n",expected, got); + +/*_______________D3DXPlaneDotCoord________________*/ + expected = -28.0f; + got = D3DXPlaneDotCoord(&plane,&vec), + ok( expected == got, "Expected : %f, Got : %f\n",expected, got); + expected = 0.0f; + got = D3DXPlaneDotCoord(NULL,&vec), + ok( expected == got, "Expected : %f, Got : %f\n",expected, got); + expected = 0.0f; + got = D3DXPlaneDotCoord(NULL,NULL), + ok( expected == got, "Expected : %f, Got : %f\n",expected, got); } static void D3X8QuaternionTest(void) diff --git a/include/d3dx8math.inl b/include/d3dx8math.inl index 78146ec..e8e6a02 100644 --- a/include/d3dx8math.inl +++ b/include/d3dx8math.inl @@ -258,12 +258,18 @@ static inline D3DXVECTOR4* D3DXVec4Subtract(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 /*__________________D3DXQUATERNION____________________*/ -static inline FLOAT D3DXPlaneDot( CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv) +static inline FLOAT D3DXPlaneDot(CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv) { if ( !pp || !pv ) return 0.0f; return ( (pp->a) * (pv->x) + (pp->b) * (pv->y) + (pp->c) * (pv->z) + (pp->d) * (pv->w) ); } +static inline FLOAT D3DXPlaneDotCoord(CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv) +{ + if ( !pp || !pv ) return 0.0f; + return ( (pp->a) * (pv->x) + (pp->b) * (pv->y) + (pp->c) * (pv->z) + (pp->d) ); +} + /*__________________D3DXQUATERNION____________________*/ static inline D3DXQUATERNION* D3DXQuaternionConjugate(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq)
1
0
0
0
David Adam : d3dx8: Implement D3DXPlaneDot.
by Alexandre Julliard
24 Oct '07
24 Oct '07
Module: wine Branch: master Commit: 10259cd87c51946d82abc41059c076b0fa213a57 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=10259cd87c51946d82abc4105…
Author: David Adam <David.Adam(a)math.cnrs.fr> Date: Tue Oct 23 10:58:41 2007 +0200 d3dx8: Implement D3DXPlaneDot. --- dlls/d3dx8/tests/math.c | 22 ++++++++++++++++++++++ include/d3dx8math.inl | 8 ++++++++ 2 files changed, 30 insertions(+), 0 deletions(-) diff --git a/dlls/d3dx8/tests/math.c b/dlls/d3dx8/tests/math.c index c5d731b..2d5bdbb 100644 --- a/dlls/d3dx8/tests/math.c +++ b/dlls/d3dx8/tests/math.c @@ -30,6 +30,27 @@ #define expect_vec4(expectedvec,gotvec) ok((fabs(expectedvec.x-gotvec.x)<admitted_error)&&(fabs(expectedvec.y-gotvec.y)<admitted_error)&&(fabs(expectedvec.z-gotvec.z)<admitted_error)&&(fabs(expectedvec.w-gotvec.w)<admitted_error),"Expected Vector= (%f, %f, %f, %f)\n , Got Vector= (%f, %f, %f, %f)\n", expectedvec.x, expectedvec.y, expectedvec.z, expectedvec.w, gotvec.x, gotvec.y, gotvec.z, gotvec.w); +static void D3DXPlaneTest(void) +{ + D3DXPLANE plane; + D3DXVECTOR4 vec; + FLOAT expected, got; + + plane.a = -3.0f; plane.b = -1.0f; plane.c = 4.0f; plane.d = 7.0f; + vec.x = 2.0f; vec.y = 5.0f; vec.z = -6.0f; vec.w = 11.0f; + +/*_______________D3DXPlaneDot________________*/ + expected = 42.0f; + got = D3DXPlaneDot(&plane,&vec), + ok( expected == got, "Expected : %f, Got : %f\n",expected, got); + expected = 0.0f; + got = D3DXPlaneDot(NULL,&vec), + ok( expected == got, "Expected : %f, Got : %f\n",expected, got); + expected = 0.0f; + got = D3DXPlaneDot(NULL,NULL), + ok( expected == got, "Expected : %f, Got : %f\n",expected, got); +} + static void D3X8QuaternionTest(void) { D3DXQUATERNION expectedquat, gotquat, q, r, s; @@ -430,6 +451,7 @@ static void D3X8Vector4Test(void) START_TEST(math) { + D3DXPlaneTest(); D3X8QuaternionTest(); D3X8Vector2Test(); D3X8Vector3Test(); diff --git a/include/d3dx8math.inl b/include/d3dx8math.inl index 066dce2..78146ec 100644 --- a/include/d3dx8math.inl +++ b/include/d3dx8math.inl @@ -258,6 +258,14 @@ static inline D3DXVECTOR4* D3DXVec4Subtract(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 /*__________________D3DXQUATERNION____________________*/ +static inline FLOAT D3DXPlaneDot( CONST D3DXPLANE *pp, CONST D3DXVECTOR4 *pv) +{ + if ( !pp || !pv ) return 0.0f; + return ( (pp->a) * (pv->x) + (pp->b) * (pv->y) + (pp->c) * (pv->z) + (pp->d) * (pv->w) ); +} + +/*__________________D3DXQUATERNION____________________*/ + static inline D3DXQUATERNION* D3DXQuaternionConjugate(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq) { if ( !pout || !pq) return NULL;
1
0
0
0
Bang Jun-young : shlwapi: SHRegDuplicateHKey() is now defined in the Windows SDK.
by Alexandre Julliard
24 Oct '07
24 Oct '07
Module: wine Branch: master Commit: 74c5d1750bc0a481ab3f786e928023bb3808a6cb URL:
http://source.winehq.org/git/wine.git/?a=commit;h=74c5d1750bc0a481ab3f786e9…
Author: Bang Jun-young <junyoung(a)mogua.com> Date: Wed Oct 24 07:30:58 2007 +0900 shlwapi: SHRegDuplicateHKey() is now defined in the Windows SDK. --- include/shlwapi.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/shlwapi.h b/include/shlwapi.h index 21b1e99..94d98c8 100644 --- a/include/shlwapi.h +++ b/include/shlwapi.h @@ -83,10 +83,10 @@ DWORD WINAPI SHCopyKeyA(HKEY,LPCSTR,HKEY,DWORD); DWORD WINAPI SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD); #define SHCopyKey WINELIB_NAME_AW(SHCopyKey) -/* Undocumented registry functions */ - HKEY WINAPI SHRegDuplicateHKey(HKEY); +/* Undocumented registry functions */ + DWORD WINAPI SHDeleteOrphanKeyA(HKEY,LPCSTR); DWORD WINAPI SHDeleteOrphanKeyW(HKEY,LPCWSTR); #define SHDeleteOrphanKey WINELIB_NAME_AW(SHDeleteOrphanKey)
1
0
0
0
Dmitry Timoshkov : shlwapi: Forward more entries to user32 exports.
by Alexandre Julliard
24 Oct '07
24 Oct '07
Module: wine Branch: master Commit: fd9774cef636a0d4a2e83debdeff72db87a27bcf URL:
http://source.winehq.org/git/wine.git/?a=commit;h=fd9774cef636a0d4a2e83debd…
Author: Dmitry Timoshkov <dmitry(a)codeweavers.com> Date: Wed Oct 24 14:04:07 2007 +0900 shlwapi: Forward more entries to user32 exports. --- dlls/shlwapi/ordinal.c | 21 --------------------- dlls/shlwapi/shlwapi.spec | 6 +++--- 2 files changed, 3 insertions(+), 24 deletions(-) diff --git a/dlls/shlwapi/ordinal.c b/dlls/shlwapi/ordinal.c index f5c0217..ee60ea9 100644 --- a/dlls/shlwapi/ordinal.c +++ b/dlls/shlwapi/ordinal.c @@ -739,27 +739,6 @@ BOOL WINAPI GetStringType3ExW(LPWSTR lpszStr, DWORD dwLen, LPVOID p3) } /************************************************************************* - * @ [SHLWAPI.36] - * - * Insert a bitmap menu item at the bottom of a menu. - * - * PARAMS - * hMenu [I] Menu to insert into - * flags [I] Flags for insertion - * id [I] Menu ID of the item - * str [I] Menu text for the item - * - * RETURNS - * Success: TRUE, the item is inserted into the menu - * Failure: FALSE, if any parameter is invalid - */ -BOOL WINAPI AppendMenuWrapW(HMENU hMenu, UINT flags, UINT id, LPCWSTR str) -{ - TRACE("(%p,0x%08x,0x%08x,%s)\n",hMenu, flags, id, debugstr_w(str)); - return InsertMenuW(hMenu, -1, flags | MF_BITMAP, id, str); -} - -/************************************************************************* * @ [SHLWAPI.138] * * Set the text of a given dialog item. diff --git a/dlls/shlwapi/shlwapi.spec b/dlls/shlwapi/shlwapi.spec index 3a920d0..ffde04c 100644 --- a/dlls/shlwapi/shlwapi.spec +++ b/dlls/shlwapi/shlwapi.spec @@ -33,7 +33,7 @@ 33 stdcall -noname IsCharDigitW(long) 34 stdcall -noname IsCharXDigitW(long) 35 stdcall -noname GetStringType3ExW(ptr long ptr) -36 stdcall -noname AppendMenuWrapW(long long long wstr) +36 stdcall -noname AppendMenuWrapW(long long long wstr) user32.AppendMenuW 37 stdcall @(ptr long long long long) user32.CallWindowProcW 38 stdcall @(wstr) user32.CharLowerW 39 stdcall @(wstr long) user32.CharLowerBuffW @@ -423,8 +423,8 @@ 423 stdcall -noname _SHGlobalCounterCreateNamedW(wstr long) 424 stdcall -noname _SHGlobalCounterDecrement(long) 425 stdcall -noname DeleteMenuWrap(ptr long long) -426 stub -noname DestroyMenuWrap -427 stub -noname TrackPopupMenuWrap +426 stdcall -noname DestroyMenuWrap(long) user32.DestroyMenu +427 stdcall -noname TrackPopupMenuWrap(long long long long long long ptr) user32.TrackPopupMenu 428 stdcall @(long long long long long ptr) user32.TrackPopupMenuEx 429 stdcall -noname MLIsMLHInstance(long) 430 stdcall -noname MLSetMLHInstance(long long)
1
0
0
0
Dmitry Timoshkov : shlwapi: Use existing shlwapi/ Win32 APIs to compare strings in Windows encoding.
by Alexandre Julliard
24 Oct '07
24 Oct '07
Module: wine Branch: master Commit: 54c83b388c0b4038d62fd0881344f41ebd010380 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=54c83b388c0b4038d62fd0881…
Author: Dmitry Timoshkov <dmitry(a)codeweavers.com> Date: Wed Oct 24 14:03:25 2007 +0900 shlwapi: Use existing shlwapi/Win32 APIs to compare strings in Windows encoding. --- dlls/shlwapi/ordinal.c | 17 +++++++++-------- 1 files changed, 9 insertions(+), 8 deletions(-) diff --git a/dlls/shlwapi/ordinal.c b/dlls/shlwapi/ordinal.c index d3e5825..f5c0217 100644 --- a/dlls/shlwapi/ordinal.c +++ b/dlls/shlwapi/ordinal.c @@ -33,6 +33,7 @@ #include "windef.h" #include "winbase.h" +#include "winnls.h" #include "winreg.h" #include "wingdi.h" #include "winuser.h" @@ -796,7 +797,7 @@ BOOL WINAPI SetDlgItemTextWrapW(HWND hWnd, INT iItem, LPCWSTR lpszText) */ DWORD WINAPI StrCmpNCA(LPCSTR lpszSrc, LPCSTR lpszCmp, INT len) { - return strncmp(lpszSrc, lpszCmp, len); + return StrCmpNA(lpszSrc, lpszCmp, len); } /************************************************************************* @@ -806,7 +807,7 @@ DWORD WINAPI StrCmpNCA(LPCSTR lpszSrc, LPCSTR lpszCmp, INT len) */ DWORD WINAPI StrCmpNCW(LPCWSTR lpszSrc, LPCWSTR lpszCmp, INT len) { - return strncmpW(lpszSrc, lpszCmp, len); + return StrCmpNW(lpszSrc, lpszCmp, len); } /************************************************************************* @@ -825,7 +826,7 @@ DWORD WINAPI StrCmpNCW(LPCWSTR lpszSrc, LPCWSTR lpszCmp, INT len) */ DWORD WINAPI StrCmpNICA(LPCSTR lpszSrc, LPCSTR lpszCmp, DWORD len) { - return strncasecmp(lpszSrc, lpszCmp, len); + return StrCmpNIA(lpszSrc, lpszCmp, len); } /************************************************************************* @@ -835,7 +836,7 @@ DWORD WINAPI StrCmpNICA(LPCSTR lpszSrc, LPCSTR lpszCmp, DWORD len) */ DWORD WINAPI StrCmpNICW(LPCWSTR lpszSrc, LPCWSTR lpszCmp, DWORD len) { - return strncmpiW(lpszSrc, lpszCmp, len); + return StrCmpNIW(lpszSrc, lpszCmp, len); } /************************************************************************* @@ -853,7 +854,7 @@ DWORD WINAPI StrCmpNICW(LPCWSTR lpszSrc, LPCWSTR lpszCmp, DWORD len) */ DWORD WINAPI StrCmpCA(LPCSTR lpszSrc, LPCSTR lpszCmp) { - return strcmp(lpszSrc, lpszCmp); + return lstrcmpA(lpszSrc, lpszCmp); } /************************************************************************* @@ -863,7 +864,7 @@ DWORD WINAPI StrCmpCA(LPCSTR lpszSrc, LPCSTR lpszCmp) */ DWORD WINAPI StrCmpCW(LPCWSTR lpszSrc, LPCWSTR lpszCmp) { - return strcmpW(lpszSrc, lpszCmp); + return lstrcmpW(lpszSrc, lpszCmp); } /************************************************************************* @@ -881,7 +882,7 @@ DWORD WINAPI StrCmpCW(LPCWSTR lpszSrc, LPCWSTR lpszCmp) */ DWORD WINAPI StrCmpICA(LPCSTR lpszSrc, LPCSTR lpszCmp) { - return strcasecmp(lpszSrc, lpszCmp); + return lstrcmpiA(lpszSrc, lpszCmp); } /************************************************************************* @@ -891,7 +892,7 @@ DWORD WINAPI StrCmpICA(LPCSTR lpszSrc, LPCSTR lpszCmp) */ DWORD WINAPI StrCmpICW(LPCWSTR lpszSrc, LPCWSTR lpszCmp) { - return strcmpiW(lpszSrc, lpszCmp); + return lstrcmpiW(lpszSrc, lpszCmp); } /*************************************************************************
1
0
0
0
Dmitry Timoshkov : ntdll: Use symbolic names when possible.
by Alexandre Julliard
24 Oct '07
24 Oct '07
Module: wine Branch: master Commit: 4009de3662f469ff2097f7a3e43f5c92fabcf3d2 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=4009de3662f469ff2097f7a3e…
Author: Dmitry Timoshkov <dmitry(a)codeweavers.com> Date: Wed Oct 24 14:02:38 2007 +0900 ntdll: Use symbolic names when possible. --- dlls/ntdll/tests/rtlstr.c | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/dlls/ntdll/tests/rtlstr.c b/dlls/ntdll/tests/rtlstr.c index a99011d..61da443 100644 --- a/dlls/ntdll/tests/rtlstr.c +++ b/dlls/ntdll/tests/rtlstr.c @@ -1686,15 +1686,17 @@ static void test_RtlIsTextUnicode(void) flags = IS_TEXT_UNICODE_UNICODE_MASK; ok(pRtlIsTextUnicode(unicode, sizeof(unicode), &flags), "Text should not pass a Unicode\n"); - todo_wine ok(flags == 0x6, "Expected flags 0x6, obtained %d\n", flags); + todo_wine + ok(flags == (IS_TEXT_UNICODE_STATISTICS | IS_TEXT_UNICODE_CONTROLS), + "Expected flags 0x6, obtained %x\n", flags); flags = IS_TEXT_UNICODE_REVERSE_MASK; ok(!pRtlIsTextUnicode(unicode, sizeof(unicode), &flags), "Text should not pass reverse Unicode tests\n"); - ok(flags == 0, "Expected flags 0, obtained %d\n", flags); + ok(flags == 0, "Expected flags 0, obtained %x\n", flags); flags = IS_TEXT_UNICODE_ODD_LENGTH; ok(!pRtlIsTextUnicode(unicode, sizeof(unicode) - 1, &flags), "Odd length test should have passed\n"); - ok(flags == IS_TEXT_UNICODE_ODD_LENGTH, "Expected flags 0x200, obtained %d\n", flags); + ok(flags == IS_TEXT_UNICODE_ODD_LENGTH, "Expected flags 0x200, obtained %x\n", flags); be_unicode = HeapAlloc(GetProcessHeap(), 0, sizeof(unicode) + sizeof(WCHAR)); be_unicode[0] = 0xfffe; @@ -1707,11 +1709,15 @@ static void test_RtlIsTextUnicode(void) flags = IS_TEXT_UNICODE_REVERSE_MASK; ok(!pRtlIsTextUnicode(&be_unicode[1], sizeof(unicode), &flags), "Reverse endian should be Unicode\n"); - todo_wine ok(flags == 0x70, "Expected flags 0x70, obtained %x\n", flags); + todo_wine + ok(flags == (IS_TEXT_UNICODE_REVERSE_ASCII16 | IS_TEXT_UNICODE_REVERSE_STATISTICS | IS_TEXT_UNICODE_REVERSE_CONTROLS), + "Expected flags 0x70, obtained %x\n", flags); flags = IS_TEXT_UNICODE_REVERSE_MASK; ok(!pRtlIsTextUnicode(be_unicode, sizeof(unicode) + 2, &flags), "Reverse endian should be Unicode\n"); - todo_wine ok(flags == 0xc0, "Expected flags 0xc0, obtained %x\n", flags); + todo_wine + ok(flags == (IS_TEXT_UNICODE_REVERSE_CONTROLS | IS_TEXT_UNICODE_REVERSE_SIGNATURE), + "Expected flags 0xc0, obtained %x\n", flags); HeapFree(GetProcessHeap(), 0, be_unicode); }
1
0
0
0
Dan Hipschman : oleaut32: Add stubs for IPropertyBag_Read.
by Alexandre Julliard
24 Oct '07
24 Oct '07
Module: wine Branch: master Commit: 816f99328827cc1d8e0885c4399a8e65ee56e69b URL:
http://source.winehq.org/git/wine.git/?a=commit;h=816f99328827cc1d8e0885c43…
Author: Dan Hipschman <dsh(a)linux.ucla.edu> Date: Tue Oct 23 20:15:02 2007 -0700 oleaut32: Add stubs for IPropertyBag_Read. --- dlls/oleaut32/usrmarshal.c | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/dlls/oleaut32/usrmarshal.c b/dlls/oleaut32/usrmarshal.c index 9976334..c97fc9e 100644 --- a/dlls/oleaut32/usrmarshal.c +++ b/dlls/oleaut32/usrmarshal.c @@ -1991,3 +1991,25 @@ HRESULT __RPC_STUB ITypeLib2_GetDocumentation2_Stub( FIXME("not implemented\n"); return E_FAIL; } + +HRESULT CALLBACK IPropertyBag_Read_Proxy( + IPropertyBag* This, + LPCOLESTR pszPropName, + VARIANT *pVar, + IErrorLog *pErrorLog) +{ + FIXME("not implemented\n"); + return E_FAIL; +} + +HRESULT __RPC_STUB IPropertyBag_Read_Stub( + IPropertyBag* This, + LPCOLESTR pszPropName, + VARIANT *pVar, + IErrorLog *pErrorLog, + DWORD varType, + IUnknown *pUnkObj) +{ + FIXME("not implemented\n"); + return E_FAIL; +}
1
0
0
0
Dan Hipschman : widl: Use error_loc instead of yyerror.
by Alexandre Julliard
24 Oct '07
24 Oct '07
Module: wine Branch: master Commit: 1aab1072c1838d0f167dd94dc4c0c16ae9df5be3 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=1aab1072c1838d0f167dd94dc…
Author: Dan Hipschman <dsh(a)linux.ucla.edu> Date: Tue Oct 23 20:18:56 2007 -0700 widl: Use error_loc instead of yyerror. --- tools/widl/parser.y | 45 ++++++++++++++++++++++----------------------- 1 files changed, 22 insertions(+), 23 deletions(-) diff --git a/tools/widl/parser.y b/tools/widl/parser.y index 6a93995..11ddd45 100644 --- a/tools/widl/parser.y +++ b/tools/widl/parser.y @@ -423,7 +423,7 @@ m_attributes: { $$ = NULL; } attributes: '[' attrib_list ']' { $$ = $2; if (!$$) - yyerror("empty attribute lists unsupported"); + error_loc("empty attribute lists unsupported\n"); } ; @@ -513,7 +513,7 @@ attribute: { $$ = NULL; } uuid_string: aUUID | aSTRING { if (!is_valid_uuid($1)) - yyerror("invalid UUID: %s", $1); + error_loc("invalid UUID: %s\n", $1); $$ = parse_uuid($1); } ; @@ -624,7 +624,7 @@ expr_list_const: expr_const { $$ = append_expr( NULL, $1 ); expr_const: expr { $$ = $1; if (!$$->is_const) - yyerror("expression is not constant"); + error_loc("expression is not constant\n"); } ; @@ -658,7 +658,7 @@ funcdef: free($4); $$ = make_func(v, $6); if (is_attr(v->attrs, ATTR_IN)) { - yyerror("inapplicable attribute [in] for function '%s'",$$->def->name); + error_loc("inapplicable attribute [in] for function '%s'\n",$$->def->name); } } ; @@ -721,8 +721,8 @@ int_std: tINT { $$ = make_builtin($<str>1); } coclass: tCOCLASS aIDENTIFIER { $$ = make_class($2); } | tCOCLASS aKNOWNTYPE { $$ = find_type($2, 0); - if ($$->defined) yyerror("multiple definition error"); - if ($$->kind != TKIND_COCLASS) yyerror("%s was not declared a coclass", $2); + if ($$->defined) error_loc("multiple definition error\n"); + if ($$->kind != TKIND_COCLASS) error_loc("%s was not declared a coclass\n", $2); } ; @@ -755,11 +755,11 @@ dispinterface: tDISPINTERFACE aIDENTIFIER { $$ = get_type(0, $2, 0); $$->kind = dispinterfacehdr: attributes dispinterface { attr_t *attrs; $$ = $2; - if ($$->defined) yyerror("multiple definition error"); + if ($$->defined) error_loc("multiple definition error\n"); attrs = make_attr(ATTR_DISPINTERFACE); $$->attrs = append_attr( $1, attrs ); $$->ref = find_type("IDispatch", 0); - if (!$$->ref) yyerror("IDispatch is undefined"); + if (!$$->ref) error_loc("IDispatch is undefined\n"); $$->defined = TRUE; if (!parse_only && do_header) write_forward($$); } @@ -803,7 +803,7 @@ interfacehdr: attributes interface { $$.interface = $2; $$.old_pointer_default = pointer_default; if (is_attr($1, ATTR_POINTERDEFAULT)) pointer_default = get_attrv($1, ATTR_POINTERDEFAULT); - if ($2->defined) yyerror("multiple definition error"); + if ($2->defined) error_loc("multiple definition error\n"); $2->attrs = $1; $2->defined = TRUE; if (!parse_only && do_header) write_forward($2); @@ -824,7 +824,7 @@ interfacedef: interfacehdr inherit | interfacehdr ':' aIDENTIFIER '{' import int_statements '}' { $$ = $1.interface; $$->ref = find_type2($3, 0); - if (!$$->ref) yyerror("base class '%s' not found in import", $3); + if (!$$->ref) error_loc("base class '%s' not found in import\n", $3); $$->funcs = $6; compute_method_indexes($$); if (!parse_only && do_header) write_interface($$); @@ -1584,7 +1584,7 @@ static type_t *reg_type(type_t *type, const char *name, int t) struct rtype *nt; int hash; if (!name) { - yyerror("registering named type without name"); + error_loc("registering named type without name\n"); return type; } hash = hash_ident(name); @@ -1649,7 +1649,7 @@ static type_t *reg_typedefs(type_t *type, pident_list_t *pidents, attr_list_t *a if (c != RPC_FC_CHAR && c != RPC_FC_BYTE && c != RPC_FC_WCHAR) { pident = LIST_ENTRY( list_head( pidents ), const pident_t, entry ); - yyerror("'%s': [string] attribute is only valid on 'char', 'byte', or 'wchar_t' pointers and arrays", + error_loc("'%s': [string] attribute is only valid on 'char', 'byte', or 'wchar_t' pointers and arrays\n", pident->var->name); } } @@ -1691,11 +1691,11 @@ static type_t *reg_typedefs(type_t *type, pident_list_t *pidents, attr_list_t *a if (is_ptr(cur)) cur->type = ptr_type; else - yyerror("'%s': pointer attribute applied to non-pointer type", + error_loc("'%s': pointer attribute applied to non-pointer type\n", cur->name); } else if (is_str && ! is_ptr(cur)) - yyerror("'%s': [string] attribute applied to non-pointer type", + error_loc("'%s': [string] attribute applied to non-pointer type\n", cur->name); if (is_incomplete(cur)) @@ -1712,7 +1712,7 @@ static type_t *find_type(const char *name, int t) while (cur && (cur->t != t || strcmp(cur->name, name))) cur = cur->next; if (!cur) { - yyerror("type '%s' not found", name); + error_loc("type '%s' not found\n", name); return NULL; } return cur->type; @@ -1816,7 +1816,7 @@ static int get_struct_type(var_list_t *fields) { has_conformance = 1; if (field->type->declarray && list_next(fields, &field->entry)) - yyerror("field '%s' deriving from a conformant array must be the last field in the structure", + error_loc("field '%s' deriving from a conformant array must be the last field in the structure\n", field->name); } if (field->type->length_is) @@ -1876,7 +1876,7 @@ static int get_struct_type(var_list_t *fields) case RPC_FC_CPSTRUCT: has_conformance = 1; if (list_next( fields, &field->entry )) - yyerror("field '%s' deriving from a conformant array must be the last field in the structure", + error_loc("field '%s' deriving from a conformant array must be the last field in the structure\n", field->name); has_pointer = 1; break; @@ -1884,7 +1884,7 @@ static int get_struct_type(var_list_t *fields) case RPC_FC_CSTRUCT: has_conformance = 1; if (list_next( fields, &field->entry )) - yyerror("field '%s' deriving from a conformant array must be the last field in the structure", + error_loc("field '%s' deriving from a conformant array must be the last field in the structure\n", field->name); break; @@ -1893,8 +1893,7 @@ static int get_struct_type(var_list_t *fields) break; default: - fprintf(stderr,"Unknown struct member %s with type (0x%02x)\n", - field->name, t->type); + error_loc("Unknown struct member %s with type (0x%02x)\n", field->name, t->type); /* fallthru - treat it as complex */ /* as soon as we see one of these these members, it's bogus... */ @@ -1936,7 +1935,7 @@ static var_t *reg_const(var_t *var) struct rconst *nc; int hash; if (!var->name) { - yyerror("registering constant without name"); + error_loc("registering constant without name\n"); return var; } hash = hash_ident(var->name); @@ -1954,7 +1953,7 @@ static var_t *find_const(char *name, int f) while (cur && strcmp(cur->name, name)) cur = cur->next; if (!cur) { - if (f) yyerror("constant '%s' not found", name); + if (f) error_loc("constant '%s' not found\n", name); return NULL; } return cur->var; @@ -2054,7 +2053,7 @@ static void check_arg(var_t *arg) type_t *t = arg->type; if (t->type == 0 && ! is_var_ptr(arg)) - yyerror("argument '%s' has void type", arg->name); + error_loc("argument '%s' has void type\n", arg->name); } static void check_all_user_types(ifref_list_t *ifrefs)
1
0
0
0
Dan Hipschman : widl: parser_error must append a newline, so write a new function, error_loc.
by Alexandre Julliard
24 Oct '07
24 Oct '07
Module: wine Branch: master Commit: 9051918976a9fdd7b0dd6c09f5b5028d7b2a6616 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=9051918976a9fdd7b0dd6c09f…
Author: Dan Hipschman <dsh(a)linux.ucla.edu> Date: Tue Oct 23 20:18:18 2007 -0700 widl: parser_error must append a newline, so write a new function, error_loc. --- tools/widl/parser.l | 10 +++++----- tools/widl/proxy.c | 2 +- tools/widl/utils.c | 11 +++++++++++ tools/widl/utils.h | 1 + 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/tools/widl/parser.l b/tools/widl/parser.l index 78ee4b2..d2fd3c1 100644 --- a/tools/widl/parser.l +++ b/tools/widl/parser.l @@ -113,14 +113,14 @@ UUID *parse_uuid(const char *u) yy_pop_state(); lineno = (int)strtol(yytext, &cptr, 10); if(!lineno) - parser_error("Malformed '#...' line-directive; invalid linenumber\n"); + error_loc("Malformed '#...' line-directive; invalid linenumber\n"); fname = strchr(cptr, '"'); if(!fname) - parser_error("Malformed '#...' line-directive; missing filename\n"); + error_loc("Malformed '#...' line-directive; missing filename\n"); fname++; cptr = strchr(fname, '"'); if(!cptr) - parser_error("Malformed '#...' line-directive; missing terminating \""); + error_loc("Malformed '#...' line-directive; missing terminating \"\n"); *cptr = '\0'; line_number = lineno - 1; /* We didn't read the newline */ free( input_name ); @@ -414,7 +414,7 @@ int do_import(char *fname) first_import = import; if (!(path = wpp_find_include( fname, input_name ))) - parser_error("Unable to open include file %s\n", fname); + error_loc("Unable to open include file %s\n", fname); import_stack[ptr].temp_name = temp_name; import_stack[ptr].input_name = input_name; @@ -427,7 +427,7 @@ int do_import(char *fname) if (ret) exit(1); if((f = fopen(temp_name, "r")) == NULL) - parser_error("Unable to open %s\n", temp_name); + error_loc("Unable to open %s\n", temp_name); import_stack[ptr].state = YY_CURRENT_BUFFER; yy_switch_to_buffer(yy_create_buffer(f, YY_BUF_SIZE)); diff --git a/tools/widl/proxy.c b/tools/widl/proxy.c index 0255923..3c8d6ef 100644 --- a/tools/widl/proxy.c +++ b/tools/widl/proxy.c @@ -509,7 +509,7 @@ static void write_proxy(type_t *iface, unsigned int *proc_offset) gen_stub(iface, cur, cname, *proc_offset); *proc_offset += get_size_procformatstring_func( cur ); if (midx == -1) midx = idx; - else if (midx != idx) parser_error("method index mismatch in write_proxy\n"); + else if (midx != idx) error("method index mismatch in write_proxy\n"); midx++; } } diff --git a/tools/widl/utils.c b/tools/widl/utils.c index 1382597..7dafc10 100644 --- a/tools/widl/utils.c +++ b/tools/widl/utils.c @@ -65,16 +65,27 @@ static void generic_msg(const char *s, const char *t, const char *n, va_list ap) } +/* yyerror: yacc assumes this is not newline terminated. */ int parser_error(const char *s, ...) { va_list ap; va_start(ap, s); generic_msg(s, "Error", parser_text, ap); + fprintf(stderr, "\n"); va_end(ap); exit(1); return 1; } +void error_loc(const char *s, ...) +{ + va_list ap; + va_start(ap, s); + generic_msg(s, "Error", parser_text, ap); + va_end(ap); + exit(1); +} + int parser_warning(const char *s, ...) { va_list ap; diff --git a/tools/widl/utils.h b/tools/widl/utils.h index 37f12f0..c9cc2ba 100644 --- a/tools/widl/utils.h +++ b/tools/widl/utils.h @@ -35,6 +35,7 @@ char *xstrdup(const char *str); int parser_error(const char *s, ...) __attribute__((format (printf, 1, 2))); int parser_warning(const char *s, ...) __attribute__((format (printf, 1, 2))); +void error_loc(const char *s, ...) __attribute__((format (printf, 1, 2))); void error(const char *s, ...) __attribute__((format (printf, 1, 2))); void warning(const char *s, ...) __attribute__((format (printf, 1, 2))); void chat(const char *s, ...) __attribute__((format (printf, 1, 2)));
1
0
0
0
← Newer
1
...
21
22
23
24
25
26
27
...
100
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Results per page:
10
25
50
100
200