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
August 2021
----- 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
1 participants
1051 discussions
Start a n
N
ew thread
Jacek Caban : gdi32: Use ntgdi names for GetPath and PathToRegion.
by Alexandre Julliard
19 Aug '21
19 Aug '21
Module: wine Branch: master Commit: 59b2aabd6162e4903cf71afcf85f5ce02e535849 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=59b2aabd6162e4903cf71afc…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Thu Aug 19 10:24:34 2021 +0200 gdi32: Use ntgdi names for GetPath and PathToRegion. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdi32/gdi32.spec | 4 +-- dlls/gdi32/path.c | 75 +++++++++++++++++++++++++-------------------------- 2 files changed, 38 insertions(+), 41 deletions(-) diff --git a/dlls/gdi32/gdi32.spec b/dlls/gdi32/gdi32.spec index b0b649ffe3b..6aef8c2dbf6 100644 --- a/dlls/gdi32/gdi32.spec +++ b/dlls/gdi32/gdi32.spec @@ -326,7 +326,7 @@ @ stdcall GetOutlineTextMetricsA(long long ptr) @ stdcall GetOutlineTextMetricsW(long long ptr) @ stdcall GetPaletteEntries(long long long ptr) -@ stdcall GetPath(long ptr ptr long) +@ stdcall GetPath(long ptr ptr long) NtGdiGetPath @ stdcall GetPixel(long long long) NtGdiGetPixel @ stdcall GetPixelFormat(long) @ stdcall GetPolyFillMode(long) @@ -388,7 +388,7 @@ @ stdcall OffsetWindowOrgEx(long long long ptr) @ stdcall PaintRgn(long long) @ stdcall PatBlt(long long long long long long) -@ stdcall PathToRegion(long) +@ stdcall PathToRegion(long) NtGdiPathToRegion @ stdcall Pie(long long long long long long long long long) @ stdcall PlayEnhMetaFile(long long ptr) @ stdcall PlayEnhMetaFileRecord(long ptr ptr long) diff --git a/dlls/gdi32/path.c b/dlls/gdi32/path.c index 3eed8f78c28..b3735f60b0b 100644 --- a/dlls/gdi32/path.c +++ b/dlls/gdi32/path.c @@ -624,52 +624,49 @@ BOOL WINAPI NtGdiCloseFigure( HDC hdc ) /*********************************************************************** - * GetPath (GDI32.@) + * NtGdiGetPath (win32u.@) */ -INT WINAPI GetPath(HDC hdc, LPPOINT pPoints, LPBYTE pTypes, INT nSize) +INT WINAPI NtGdiGetPath( HDC hdc, POINT *points, BYTE *types, INT size ) { - INT ret = -1; - DC *dc = get_dc_ptr( hdc ); + INT ret = -1; + DC *dc = get_dc_ptr( hdc ); - if(!dc) return -1; + if (!dc) return -1; - if (!dc->path) - { - SetLastError(ERROR_CAN_NOT_COMPLETE); - goto done; - } + if (!dc->path) + { + SetLastError( ERROR_CAN_NOT_COMPLETE ); + } + else if (size == 0) + { + ret = dc->path->count; + } + else if (size < dc->path->count) + { + SetLastError( ERROR_INVALID_PARAMETER ); + } + else + { + memcpy( points, dc->path->points, sizeof(POINT) * dc->path->count ); + memcpy( types, dc->path->flags, sizeof(BYTE) * dc->path->count ); - if(nSize==0) - ret = dc->path->count; - else if(nSize<dc->path->count) - { - SetLastError(ERROR_INVALID_PARAMETER); - goto done; - } - else - { - memcpy(pPoints, dc->path->points, sizeof(POINT)*dc->path->count); - memcpy(pTypes, dc->path->flags, sizeof(BYTE)*dc->path->count); + /* Convert the points to logical coordinates */ + if (dp_to_lp( dc, points, dc->path->count )) + ret = dc->path->count; + else + /* FIXME: Is this the correct value? */ + SetLastError( ERROR_CAN_NOT_COMPLETE ); + } - /* Convert the points to logical coordinates */ - if(!dp_to_lp(dc, pPoints, dc->path->count)) - { - /* FIXME: Is this the correct value? */ - SetLastError(ERROR_CAN_NOT_COMPLETE); - goto done; - } - else ret = dc->path->count; - } - done: - release_dc_ptr( dc ); - return ret; + release_dc_ptr( dc ); + return ret; } /*********************************************************************** - * PathToRegion (GDI32.@) + * NtGdiPathToRegion (win32u.@) */ -HRGN WINAPI PathToRegion(HDC hdc) +HRGN WINAPI NtGdiPathToRegion( HDC hdc ) { HRGN ret = 0; DC *dc = get_dc_ptr( hdc ); @@ -721,7 +718,7 @@ BOOL WINAPI NtGdiSelectClipPath( HDC hdc, INT mode ) BOOL ret = FALSE; HRGN rgn; - if ((rgn = PathToRegion( hdc ))) + if ((rgn = NtGdiPathToRegion( hdc ))) { ret = NtGdiExtSelectClipRgn( hdc, rgn, mode ) != ERROR; DeleteObject( rgn ); @@ -2008,21 +2005,21 @@ BOOL CDECL nulldrv_CloseFigure( PHYSDEV dev ) BOOL CDECL nulldrv_FillPath( PHYSDEV dev ) { - if (GetPath( dev->hdc, NULL, NULL, 0 ) == -1) return FALSE; + if (NtGdiGetPath( dev->hdc, NULL, NULL, 0 ) == -1) return FALSE; NtGdiAbortPath( dev->hdc ); return TRUE; } BOOL CDECL nulldrv_StrokeAndFillPath( PHYSDEV dev ) { - if (GetPath( dev->hdc, NULL, NULL, 0 ) == -1) return FALSE; + if (NtGdiGetPath( dev->hdc, NULL, NULL, 0 ) == -1) return FALSE; NtGdiAbortPath( dev->hdc ); return TRUE; } BOOL CDECL nulldrv_StrokePath( PHYSDEV dev ) { - if (GetPath( dev->hdc, NULL, NULL, 0 ) == -1) return FALSE; + if (NtGdiGetPath( dev->hdc, NULL, NULL, 0 ) == -1) return FALSE; NtGdiAbortPath( dev->hdc ); return TRUE; }
1
0
0
0
Jacek Caban : gdi32: Use NtGdiWidenPath for WidenPath.
by Alexandre Julliard
19 Aug '21
19 Aug '21
Module: wine Branch: master Commit: 37a5c8b9f3e99c362a5a28c5bd7fb6d0831687ac URL:
https://source.winehq.org/git/wine.git/?a=commit;h=37a5c8b9f3e99c362a5a28c5…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Thu Aug 19 10:24:21 2021 +0200 gdi32: Use NtGdiWidenPath for WidenPath. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdi32/dibdrv/dc.c | 2 -- dlls/gdi32/driver.c | 1 - dlls/gdi32/enhmfdrv/dc.c | 5 ++--- dlls/gdi32/enhmfdrv/enhmetafiledrv.h | 1 - dlls/gdi32/enhmfdrv/init.c | 1 - dlls/gdi32/font.c | 1 - dlls/gdi32/gdi_private.h | 1 + dlls/gdi32/gdidc.c | 12 +++++++++++ dlls/gdi32/ntgdi_private.h | 1 - dlls/gdi32/path.c | 39 ++++++++++++------------------------ dlls/wineandroid.drv/init.c | 1 - dlls/winemac.drv/gdi.c | 1 - dlls/wineps.drv/init.c | 1 - dlls/winex11.drv/init.c | 1 - dlls/winex11.drv/xrender.c | 1 - include/wine/gdi_driver.h | 3 +-- 16 files changed, 29 insertions(+), 43 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=37a5c8b9f3e99c362a5a…
1
0
0
0
Jacek Caban : gdi32: Use NtGdiStrokePath for StrokePath.
by Alexandre Julliard
19 Aug '21
19 Aug '21
Module: wine Branch: master Commit: b048e4e0df7fe546c76a617dfdc2e2b3b18b5834 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=b048e4e0df7fe546c76a617d…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Thu Aug 19 10:23:24 2021 +0200 gdi32: Use NtGdiStrokePath for StrokePath. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdi32/enhmfdrv/graphics.c | 11 ++++++++++- dlls/gdi32/gdi_private.h | 1 + dlls/gdi32/gdidc.c | 12 ++++++++++++ dlls/gdi32/path.c | 6 ++---- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/dlls/gdi32/enhmfdrv/graphics.c b/dlls/gdi32/enhmfdrv/graphics.c index e567808016b..691a53ce98f 100644 --- a/dlls/gdi32/enhmfdrv/graphics.c +++ b/dlls/gdi32/enhmfdrv/graphics.c @@ -1214,5 +1214,14 @@ BOOL EMFDC_StrokeAndFillPath( DC_ATTR *dc_attr ) */ BOOL CDECL EMFDRV_StrokePath( PHYSDEV dev ) { - return emfdrv_stroke_and_fill_path( dev, EMR_STROKEPATH ); + /* FIXME: update bound rect */ + return TRUE; +} + +/********************************************************************** + * EMFDC_StrokePath + */ +BOOL EMFDC_StrokePath( DC_ATTR *dc_attr ) +{ + return emfdrv_stroke_and_fill_path( dc_attr->emf, EMR_STROKEPATH ); } diff --git a/dlls/gdi32/gdi_private.h b/dlls/gdi32/gdi_private.h index a159aa875a6..7a7fc2b6fce 100644 --- a/dlls/gdi32/gdi_private.h +++ b/dlls/gdi32/gdi_private.h @@ -218,5 +218,6 @@ extern BOOL EMFDC_StretchDIBits( DC_ATTR *dc_attr, INT x_dst, INT y_dst, INT wid INT height_src, const void *bits, const BITMAPINFO *info, UINT coloruse, DWORD rop ) DECLSPEC_HIDDEN; extern BOOL EMFDC_StrokeAndFillPath( DC_ATTR *dc_attr ) DECLSPEC_HIDDEN; +extern BOOL EMFDC_StrokePath( DC_ATTR *dc_attr ) DECLSPEC_HIDDEN; #endif /* __WINE_GDI_PRIVATE_H */ diff --git a/dlls/gdi32/gdidc.c b/dlls/gdi32/gdidc.c index 0e7c0574024..ac33893dfc7 100644 --- a/dlls/gdi32/gdidc.c +++ b/dlls/gdi32/gdidc.c @@ -1543,6 +1543,18 @@ BOOL WINAPI StrokeAndFillPath( HDC hdc ) return NtGdiStrokeAndFillPath( hdc ); } +/******************************************************************* + * StrokePath (GDI32.@) + */ +BOOL WINAPI StrokePath( HDC hdc ) +{ + DC_ATTR *dc_attr; + + if (!(dc_attr = get_dc_attr( hdc ))) return FALSE; + if (dc_attr->emf && !EMFDC_StrokePath( dc_attr )) return FALSE; + return NtGdiStrokePath( hdc ); +} + /*********************************************************************** * FlattenPath (GDI32.@) */ diff --git a/dlls/gdi32/path.c b/dlls/gdi32/path.c index f08592598b9..e59c02951ff 100644 --- a/dlls/gdi32/path.c +++ b/dlls/gdi32/path.c @@ -1919,11 +1919,9 @@ BOOL WINAPI NtGdiStrokeAndFillPath( HDC hdc ) /******************************************************************* - * StrokePath [GDI32.@] - * - * + * NtGdiStrokePath (win32u.@) */ -BOOL WINAPI StrokePath(HDC hdc) +BOOL WINAPI NtGdiStrokePath( HDC hdc ) { BOOL ret = FALSE; DC *dc = get_dc_ptr( hdc );
1
0
0
0
Jacek Caban : gdi32: Use NtGdiStrokeAndFillPath for StrokeAndFillPath.
by Alexandre Julliard
19 Aug '21
19 Aug '21
Module: wine Branch: master Commit: dc19c31d8baf841c2201204137d4c7b9aceb9484 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=dc19c31d8baf841c22012041…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Thu Aug 19 10:23:15 2021 +0200 gdi32: Use NtGdiStrokeAndFillPath for StrokeAndFillPath. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdi32/enhmfdrv/graphics.c | 11 ++++++++++- dlls/gdi32/gdi_private.h | 1 + dlls/gdi32/gdidc.c | 12 ++++++++++++ dlls/gdi32/path.c | 6 ++---- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/dlls/gdi32/enhmfdrv/graphics.c b/dlls/gdi32/enhmfdrv/graphics.c index 0f48d6876dd..e567808016b 100644 --- a/dlls/gdi32/enhmfdrv/graphics.c +++ b/dlls/gdi32/enhmfdrv/graphics.c @@ -1197,7 +1197,16 @@ BOOL EMFDC_FillPath( DC_ATTR *dc_attr ) */ BOOL CDECL EMFDRV_StrokeAndFillPath( PHYSDEV dev ) { - return emfdrv_stroke_and_fill_path( dev, EMR_STROKEANDFILLPATH ); + /* FIXME: update bound rect */ + return TRUE; +} + +/********************************************************************** + * EMFDC_StrokeAndFillPath + */ +BOOL EMFDC_StrokeAndFillPath( DC_ATTR *dc_attr ) +{ + return emfdrv_stroke_and_fill_path( dc_attr->emf, EMR_STROKEANDFILLPATH ); } /********************************************************************** diff --git a/dlls/gdi32/gdi_private.h b/dlls/gdi32/gdi_private.h index bb90ee471f1..a159aa875a6 100644 --- a/dlls/gdi32/gdi_private.h +++ b/dlls/gdi32/gdi_private.h @@ -217,5 +217,6 @@ extern BOOL EMFDC_StretchDIBits( DC_ATTR *dc_attr, INT x_dst, INT y_dst, INT wid INT height_dst, INT x_src, INT y_src, INT width_src, INT height_src, const void *bits, const BITMAPINFO *info, UINT coloruse, DWORD rop ) DECLSPEC_HIDDEN; +extern BOOL EMFDC_StrokeAndFillPath( DC_ATTR *dc_attr ) DECLSPEC_HIDDEN; #endif /* __WINE_GDI_PRIVATE_H */ diff --git a/dlls/gdi32/gdidc.c b/dlls/gdi32/gdidc.c index c5e8d29837a..0e7c0574024 100644 --- a/dlls/gdi32/gdidc.c +++ b/dlls/gdi32/gdidc.c @@ -1531,6 +1531,18 @@ BOOL WINAPI FillPath( HDC hdc ) return NtGdiFillPath( hdc ); } +/******************************************************************* + * StrokeAndFillPath (GDI32.@) + */ +BOOL WINAPI StrokeAndFillPath( HDC hdc ) +{ + DC_ATTR *dc_attr; + + if (!(dc_attr = get_dc_attr( hdc ))) return FALSE; + if (dc_attr->emf && !EMFDC_StrokeAndFillPath( dc_attr )) return FALSE; + return NtGdiStrokeAndFillPath( hdc ); +} + /*********************************************************************** * FlattenPath (GDI32.@) */ diff --git a/dlls/gdi32/path.c b/dlls/gdi32/path.c index b903ebc0c15..f08592598b9 100644 --- a/dlls/gdi32/path.c +++ b/dlls/gdi32/path.c @@ -1901,11 +1901,9 @@ static struct gdi_path *PATH_WidenPath(DC *dc) /******************************************************************* - * StrokeAndFillPath [GDI32.@] - * - * + * NtGdiStrokeAndFillPath (win32u.@) */ -BOOL WINAPI StrokeAndFillPath(HDC hdc) +BOOL WINAPI NtGdiStrokeAndFillPath( HDC hdc ) { BOOL ret = FALSE; DC *dc = get_dc_ptr( hdc );
1
0
0
0
Zebediah Figura : ws2_32: Properly implement getsockopt(SO_CONNECT_TIME).
by Alexandre Julliard
19 Aug '21
19 Aug '21
Module: wine Branch: master Commit: eec47af63865ceb9eb24b3c5d9a628027b4965c1 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=eec47af63865ceb9eb24b3c5…
Author: Zebediah Figura <zfigura(a)codeweavers.com> Date: Wed Aug 18 23:25:50 2021 -0500 ws2_32: Properly implement getsockopt(SO_CONNECT_TIME). Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ws2_32/socket.c | 29 ++++++++--------------------- include/wine/afd.h | 1 + server/sock.c | 17 +++++++++++++++++ 3 files changed, 26 insertions(+), 21 deletions(-) diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c index fd6ea25c751..30f233fa78f 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c @@ -1424,6 +1424,14 @@ int WINAPI getsockopt( SOCKET s, int level, int optname, char *optval, int *optl return 0; } + case SO_CONNECT_TIME: + if (!optlen || !optval) + { + SetLastError( WSAEFAULT ); + return -1; + } + return server_getsockopt( s, IOCTL_AFD_WINE_GET_SO_CONNECT_TIME, optval, optlen ); + case SO_DEBUG: WARN( "returning 0 for SO_DEBUG\n" ); *(DWORD *)optval = 0; @@ -1450,27 +1458,6 @@ int WINAPI getsockopt( SOCKET s, int level, int optname, char *optval, int *optl return ret; } - case SO_CONNECT_TIME: - { - static int pretendtime = 0; - struct sockaddr addr; - int len = sizeof(addr); - - if (!optlen || *optlen < sizeof(DWORD) || !optval) - { - SetLastError(WSAEFAULT); - return SOCKET_ERROR; - } - if (getpeername(s, &addr, &len) == SOCKET_ERROR) - *(DWORD *)optval = ~0u; - else - { - if (!pretendtime) FIXME("SO_CONNECT_TIME - faking results\n"); - *(DWORD *)optval = pretendtime++; - } - *optlen = sizeof(DWORD); - return ret; - } /* As mentioned in setsockopt, Windows ignores this, so we * always return true here */ case SO_DONTROUTE: diff --git a/include/wine/afd.h b/include/wine/afd.h index 49bbcccd3af..e67ecae25a9 100644 --- a/include/wine/afd.h +++ b/include/wine/afd.h @@ -233,6 +233,7 @@ struct afd_get_events_params #define IOCTL_AFD_WINE_SET_IPV6_RECVPKTINFO WINE_AFD_IOC(289) #define IOCTL_AFD_WINE_GET_IPV6_RECVTCLASS WINE_AFD_IOC(290) #define IOCTL_AFD_WINE_SET_IPV6_RECVTCLASS WINE_AFD_IOC(291) +#define IOCTL_AFD_WINE_GET_SO_CONNECT_TIME WINE_AFD_IOC(292) struct afd_create_params { diff --git a/server/sock.c b/server/sock.c index 27477200ed0..50bfc08e145 100644 --- a/server/sock.c +++ b/server/sock.c @@ -2807,6 +2807,23 @@ static int sock_ioctl( struct fd *fd, ioctl_code_t code, struct async *async ) return 0; } + case IOCTL_AFD_WINE_GET_SO_CONNECT_TIME: + { + DWORD time = ~0u; + + if (get_reply_max_size() < sizeof(time)) + { + set_error( STATUS_BUFFER_TOO_SMALL ); + return 0; + } + + if (sock->state == SOCK_CONNECTED) + time = (current_time - sock->connect_time) / 10000000; + + set_reply_data( &time, sizeof(time) ); + return 1; + } + default: set_error( STATUS_NOT_SUPPORTED ); return 0;
1
0
0
0
Zebediah Figura : ws2_32: Use realloc() in get_{host, proto, serv}ent_buffer().
by Alexandre Julliard
19 Aug '21
19 Aug '21
Module: wine Branch: master Commit: 4af902eb4eacc33b9cf89a9093362115d9ebf6ad URL:
https://source.winehq.org/git/wine.git/?a=commit;h=4af902eb4eacc33b9cf89a90…
Author: Zebediah Figura <zfigura(a)codeweavers.com> Date: Wed Aug 18 23:25:49 2021 -0500 ws2_32: Use realloc() in get_{host, proto, serv}ent_buffer(). Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ws2_32/protocol.c | 46 +++++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/dlls/ws2_32/protocol.c b/dlls/ws2_32/protocol.c index 93464232d32..492400b17a7 100644 --- a/dlls/ws2_32/protocol.c +++ b/dlls/ws2_32/protocol.c @@ -591,13 +591,18 @@ int WINAPI GetNameInfoW( const SOCKADDR *addr, socklen_t addr_len, WCHAR *host, static struct hostent *get_hostent_buffer( unsigned int size ) { struct per_thread_data *data = get_per_thread_data(); - if (data->he_buffer) + struct hostent *new_buffer; + + if (data->he_len < size) { - if (data->he_len >= size) return data->he_buffer; - free( data->he_buffer ); + if (!(new_buffer = realloc( data->he_buffer, size ))) + { + SetLastError( WSAENOBUFS ); + return NULL; + } + data->he_buffer = new_buffer; + data->he_len = size; } - data->he_buffer = malloc( (data->he_len = size) ); - if (!data->he_buffer) SetLastError(WSAENOBUFS); return data->he_buffer; } @@ -1004,15 +1009,18 @@ static char *next_non_space( const char *p, const char *end ) static struct protoent *get_protoent_buffer( unsigned int size ) { struct per_thread_data *data = get_per_thread_data(); + struct protoent *new_buffer; - if (data->pe_buffer) + if (data->pe_len < size) { - if (data->pe_len >= size) return data->pe_buffer; - free( data->pe_buffer ); + if (!(new_buffer = realloc( data->pe_buffer, size ))) + { + SetLastError( WSAENOBUFS ); + return NULL; + } + data->pe_buffer = new_buffer; + data->pe_len = size; } - data->pe_len = size; - data->pe_buffer = malloc( size ); - if (!data->pe_buffer) SetLastError( WSAENOBUFS ); return data->pe_buffer; } @@ -1187,14 +1195,18 @@ struct protoent * WINAPI getprotobynumber( int number ) static struct servent *get_servent_buffer( int size ) { struct per_thread_data *data = get_per_thread_data(); - if (data->se_buffer) + struct servent *new_buffer; + + if (data->se_len < size) { - if (data->se_len >= size) return data->se_buffer; - free( data->se_buffer ); + if (!(new_buffer = realloc( data->se_buffer, size ))) + { + SetLastError( WSAENOBUFS ); + return NULL; + } + data->se_buffer = new_buffer; + data->se_len = size; } - data->se_len = size; - data->se_buffer = malloc( size ); - if (!data->se_buffer) SetLastError( WSAENOBUFS ); return data->se_buffer; }
1
0
0
0
Zebediah Figura : ws2_32: Use malloc() instead of HeapAlloc().
by Alexandre Julliard
19 Aug '21
19 Aug '21
Module: wine Branch: master Commit: 357fb2be9b8a786081269cafce9cc384bf74632d URL:
https://source.winehq.org/git/wine.git/?a=commit;h=357fb2be9b8a786081269caf…
Author: Zebediah Figura <zfigura(a)codeweavers.com> Date: Wed Aug 18 23:25:48 2021 -0500 ws2_32: Use malloc() instead of HeapAlloc(). Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ws2_32/async.c | 26 +++----- dlls/ws2_32/protocol.c | 141 +++++++++++++++++++++---------------------- dlls/ws2_32/socket.c | 72 +++++++++++----------- dlls/ws2_32/ws2_32_private.h | 2 +- 4 files changed, 116 insertions(+), 125 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=357fb2be9b8a78608126…
1
0
0
0
Fabian Maurer : configure: Improve resolv lib test for glibc 2.34.
by Alexandre Julliard
19 Aug '21
19 Aug '21
Module: wine Branch: master Commit: a3bbf5137707abb548ff642826992b7069bef1de URL:
https://source.winehq.org/git/wine.git/?a=commit;h=a3bbf5137707abb548ff6428…
Author: Fabian Maurer <dark.shadow4(a)web.de> Date: Thu Aug 19 00:53:56 2021 +0200 configure: Improve resolv lib test for glibc 2.34. res_init and res_query don't need lresolv on glibc 2.34. Added another test for ns_initparse and friends. Wine-Bug:
https://bugs.winehq.org/show_bug.cgi?id=51635
Signed-off-by: Fabian Maurer <dark.shadow4(a)web.de> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- configure | 2 +- configure.ac | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure index d7ae3b5f437..5608de31912 100755 --- a/configure +++ b/configure @@ -14156,7 +14156,7 @@ else int main () { -if (!(_res.options & RES_INIT)) res_init(); res_query("foo",ns_c_in,0,0,0) +if (!(_res.options & RES_INIT)) res_init(); res_query("foo",ns_c_in,0,0,0); ns_initparse(0,0,0) ; return 0; } diff --git a/configure.ac b/configure.ac index c58076ed1d6..53c1a36a169 100644 --- a/configure.ac +++ b/configure.ac @@ -1498,7 +1498,7 @@ then AC_LINK_IFELSE([AC_LANG_PROGRAM([[#ifdef HAVE_NETINET_IN_H #include <netinet/in.h> #endif -#include <resolv.h>]],[[if (!(_res.options & RES_INIT)) res_init(); res_query("foo",ns_c_in,0,0,0)]])], +#include <resolv.h>]],[[if (!(_res.options & RES_INIT)) res_init(); res_query("foo",ns_c_in,0,0,0); ns_initparse(0,0,0)]])], [ac_cv_have_resolv=${lib:-"none required"}],[ac_cv_have_resolv="not found"]) test "x$ac_cv_have_resolv" = "xnot found" || break done
1
0
0
0
Huw Davies : server: Remove check for macOS version < 10.5.
by Alexandre Julliard
19 Aug '21
19 Aug '21
Module: wine Branch: master Commit: 68b840953d52bcfca0d9aaeaafc60167cf267151 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=68b840953d52bcfca0d9aaea…
Author: Huw Davies <huw(a)codeweavers.com> Date: Thu Aug 19 08:59:59 2021 +0100 server: Remove check for macOS version < 10.5. Our stated minimum requirement is 10.8. Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- server/fd.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/server/fd.c b/server/fd.c index b953da2ab85..de7c5d7e36d 100644 --- a/server/fd.c +++ b/server/fd.c @@ -627,16 +627,6 @@ static int kqueue_fd = -1; static inline void init_epoll(void) { -#ifdef __APPLE__ /* kqueue support is broken in Mac OS < 10.5 */ - int mib[2]; - char release[32]; - size_t len = sizeof(release); - - mib[0] = CTL_KERN; - mib[1] = KERN_OSRELEASE; - if (sysctl( mib, 2, release, &len, NULL, 0 ) == -1) return; - if (atoi(release) < 9) return; -#endif kqueue_fd = kqueue(); }
1
0
0
0
Huw Davies : configure: Remove no longer used checks for libkstat.
by Alexandre Julliard
19 Aug '21
19 Aug '21
Module: wine Branch: master Commit: 028c9832fe0fc67cf9e624054ae157e5e67ae041 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=028c9832fe0fc67cf9e62405…
Author: Huw Davies <huw(a)codeweavers.com> Date: Thu Aug 19 08:53:46 2021 +0100 configure: Remove no longer used checks for libkstat. Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- configure | 51 --------------------------------------------------- configure.ac | 9 --------- include/config.h.in | 6 ------ 3 files changed, 66 deletions(-) diff --git a/configure b/configure index dbbe3a5395d..d7ae3b5f437 100755 --- a/configure +++ b/configure @@ -639,7 +639,6 @@ VKD3D_CFLAGS NETAPI_LIBS NETAPI_CFLAGS PROCSTAT_LIBS -KSTAT_LIBS MPG123_LIBS MPG123_CFLAGS TIFF_LIBS @@ -7501,7 +7500,6 @@ for ac_header in \ gsm/gsm.h \ ieeefp.h \ inet/mib2.h \ - kstat.h \ libproc.h \ link.h \ linux/cdrom.h \ @@ -16480,54 +16478,6 @@ then enable_xaudio2_9=${enable_xaudio2_9:-no} fi -if test "$ac_cv_header_kstat_h" = "yes" -then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kstat_open in -lkstat" >&5 -$as_echo_n "checking for kstat_open in -lkstat... " >&6; } -if ${ac_cv_lib_kstat_kstat_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lkstat $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char kstat_open (); -int -main () -{ -return kstat_open (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_kstat_kstat_open=yes -else - ac_cv_lib_kstat_kstat_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kstat_kstat_open" >&5 -$as_echo "$ac_cv_lib_kstat_kstat_open" >&6; } -if test "x$ac_cv_lib_kstat_kstat_open" = xyes; then : - -$as_echo "#define HAVE_LIBKSTAT 1" >>confdefs.h - - KSTAT_LIBS="-lkstat" - -fi - -fi - if test "$ac_cv_header_libprocstat_h" = "yes" then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for procstat_open_sysctl in -lprocstat" >&5 @@ -20034,7 +19984,6 @@ TIFF_CFLAGS = $TIFF_CFLAGS TIFF_LIBS = $TIFF_LIBS MPG123_CFLAGS = $MPG123_CFLAGS MPG123_LIBS = $MPG123_LIBS -KSTAT_LIBS = $KSTAT_LIBS PROCSTAT_LIBS = $PROCSTAT_LIBS NETAPI_CFLAGS = $NETAPI_CFLAGS NETAPI_LIBS = $NETAPI_LIBS diff --git a/configure.ac b/configure.ac index a143f6d3d2a..c58076ed1d6 100644 --- a/configure.ac +++ b/configure.ac @@ -468,7 +468,6 @@ AC_CHECK_HEADERS(\ gsm/gsm.h \ ieeefp.h \ inet/mib2.h \ - kstat.h \ libproc.h \ link.h \ linux/cdrom.h \ @@ -1944,14 +1943,6 @@ then enable_xaudio2_9=${enable_xaudio2_9:-no} fi -dnl **** Check for libkstat **** -if test "$ac_cv_header_kstat_h" = "yes" -then - AC_CHECK_LIB(kstat,kstat_open, - [AC_DEFINE(HAVE_LIBKSTAT, 1, [Define to 1 if you have the `kstat' library (-lkstat).]) - AC_SUBST(KSTAT_LIBS,"-lkstat")]) -fi - dnl **** Check for libprocstat **** if test "$ac_cv_header_libprocstat_h" = "yes" then diff --git a/include/config.h.in b/include/config.h.in index 24f7b64ffd3..b1918d46ed1 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -234,9 +234,6 @@ /* Define to 1 if you have the <krb5/krb5.h> header file. */ #undef HAVE_KRB5_KRB5_H -/* Define to 1 if you have the <kstat.h> header file. */ -#undef HAVE_KSTAT_H - /* Define to 1 if you have the <lber.h> header file. */ #undef HAVE_LBER_H @@ -279,9 +276,6 @@ /* Define to 1 if you have the `gettextpo' library (-lgettextpo). */ #undef HAVE_LIBGETTEXTPO -/* Define to 1 if you have the `kstat' library (-lkstat). */ -#undef HAVE_LIBKSTAT - /* Define to 1 if you have the `procstat' library (-lprocstat). */ #undef HAVE_LIBPROCSTAT
1
0
0
0
← Newer
1
...
42
43
44
45
46
47
48
...
106
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
101
102
103
104
105
106
Results per page:
10
25
50
100
200