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
December 2020
----- 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
414 discussions
Start a n
N
ew thread
Piotr Caban : msvcrt: Use _JUMP_BUFFER from public header.
by Alexandre Julliard
04 Dec '20
04 Dec '20
Module: wine Branch: master Commit: 835a83e3f9699a83482bc5e74d2e931d87cb1a5a URL:
https://source.winehq.org/git/wine.git/?a=commit;h=835a83e3f9699a83482bc5e7…
Author: Piotr Caban <piotr(a)codeweavers.com> Date: Fri Dec 4 15:50:04 2020 +0100 msvcrt: Use _JUMP_BUFFER from public header. Signed-off-by: Piotr Caban <piotr(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/msvcrt/except_arm.c | 3 +- dlls/msvcrt/except_arm64.c | 3 +- dlls/msvcrt/except_i386.c | 15 ++++---- dlls/msvcrt/except_x86_64.c | 3 +- dlls/msvcrt/msvcrt.h | 86 --------------------------------------------- 5 files changed, 14 insertions(+), 96 deletions(-) diff --git a/dlls/msvcrt/except_arm.c b/dlls/msvcrt/except_arm.c index c76d9b4c330..8e5c552b552 100644 --- a/dlls/msvcrt/except_arm.c +++ b/dlls/msvcrt/except_arm.c @@ -21,6 +21,7 @@ #ifdef __arm__ +#include <setjmp.h> #include <stdarg.h> #include <fpieee.h> @@ -114,7 +115,7 @@ __ASM_GLOBAL_FUNC(MSVCRT__setjmp, /******************************************************************* * longjmp (MSVCRT.@) */ -void __cdecl MSVCRT_longjmp(struct MSVCRT___JUMP_BUFFER *jmp, int retval) +void __cdecl MSVCRT_longjmp(_JUMP_BUFFER *jmp, int retval) { EXCEPTION_RECORD rec; diff --git a/dlls/msvcrt/except_arm64.c b/dlls/msvcrt/except_arm64.c index 7be0132acd0..242ef8bdb09 100644 --- a/dlls/msvcrt/except_arm64.c +++ b/dlls/msvcrt/except_arm64.c @@ -22,6 +22,7 @@ #ifdef __aarch64__ +#include <setjmp.h> #include <stdarg.h> #include <fpieee.h> @@ -115,7 +116,7 @@ __ASM_GLOBAL_FUNC(MSVCRT__setjmp, /******************************************************************* * longjmp (MSVCRT.@) */ -void __cdecl MSVCRT_longjmp(struct MSVCRT___JUMP_BUFFER *jmp, int retval) +void __cdecl MSVCRT_longjmp(_JUMP_BUFFER *jmp, int retval) { EXCEPTION_RECORD rec; diff --git a/dlls/msvcrt/except_i386.c b/dlls/msvcrt/except_i386.c index 86d80d7deda..23a027368ba 100644 --- a/dlls/msvcrt/except_i386.c +++ b/dlls/msvcrt/except_i386.c @@ -27,6 +27,7 @@ #ifdef __i386__ +#include <setjmp.h> #include <stdarg.h> #include <fpieee.h> @@ -691,7 +692,7 @@ __ASM_GLOBAL_FUNC( __CxxFrameHandler, * * Callback meant to be used as UnwindFunc for setjmp/longjmp. */ -void __stdcall __CxxLongjmpUnwind( const struct MSVCRT___JUMP_BUFFER *buf ) +void __stdcall __CxxLongjmpUnwind( const _JUMP_BUFFER *buf ) { cxx_exception_frame *frame = (cxx_exception_frame *)buf->Registration; const cxx_function_descr *descr = (const cxx_function_descr *)buf->UnwindData[0]; @@ -1019,7 +1020,7 @@ int CDECL _except_handler4_common( ULONG *cookie, void (*check_cookie)(void), */ #define MSVCRT_JMP_MAGIC 0x56433230 /* ID value for new jump structure */ -typedef void (__stdcall *MSVCRT_unwind_function)(const struct MSVCRT___JUMP_BUFFER *); +typedef void (__stdcall *MSVCRT_unwind_function)(const _JUMP_BUFFER *); /* define an entrypoint for setjmp/setjmp3 that stores the registers in the jmp buf */ /* and then jumps to the C backend function */ @@ -1039,7 +1040,7 @@ typedef void (__stdcall *MSVCRT_unwind_function)(const struct MSVCRT___JUMP_BUFF * _setjmp (MSVCRT.@) */ DEFINE_SETJMP_ENTRYPOINT(MSVCRT__setjmp) -int CDECL DECLSPEC_HIDDEN __regs_MSVCRT__setjmp(struct MSVCRT___JUMP_BUFFER *jmp) +int CDECL DECLSPEC_HIDDEN __regs_MSVCRT__setjmp(_JUMP_BUFFER *jmp) { jmp->Registration = (unsigned long)NtCurrentTeb()->Tib.ExceptionList; if (jmp->Registration == ~0UL) @@ -1056,7 +1057,7 @@ int CDECL DECLSPEC_HIDDEN __regs_MSVCRT__setjmp(struct MSVCRT___JUMP_BUFFER *jmp * _setjmp3 (MSVCRT.@) */ DEFINE_SETJMP_ENTRYPOINT( MSVCRT__setjmp3 ) -int WINAPIV DECLSPEC_HIDDEN __regs_MSVCRT__setjmp3(struct MSVCRT___JUMP_BUFFER *jmp, int nb_args, ...) +int WINAPIV DECLSPEC_HIDDEN __regs_MSVCRT__setjmp3(_JUMP_BUFFER *jmp, int nb_args, ...) { jmp->Cookie = MSVCRT_JMP_MAGIC; jmp->UnwindFunc = 0; @@ -1087,7 +1088,7 @@ int WINAPIV DECLSPEC_HIDDEN __regs_MSVCRT__setjmp3(struct MSVCRT___JUMP_BUFFER * /********************************************************************* * longjmp (MSVCRT.@) */ -void CDECL MSVCRT_longjmp(struct MSVCRT___JUMP_BUFFER *jmp, int retval) +void CDECL MSVCRT_longjmp(_JUMP_BUFFER *jmp, int retval) { unsigned long cur_frame = 0; @@ -1125,7 +1126,7 @@ void CDECL MSVCRT_longjmp(struct MSVCRT___JUMP_BUFFER *jmp, int retval) /********************************************************************* * _seh_longjmp_unwind (MSVCRT.@) */ -void __stdcall _seh_longjmp_unwind(struct MSVCRT___JUMP_BUFFER *jmp) +void __stdcall _seh_longjmp_unwind(_JUMP_BUFFER *jmp) { msvcrt_local_unwind2( (MSVCRT_EXCEPTION_FRAME *)jmp->Registration, jmp->TryLevel, (void *)jmp->Ebp ); } @@ -1133,7 +1134,7 @@ void __stdcall _seh_longjmp_unwind(struct MSVCRT___JUMP_BUFFER *jmp) /********************************************************************* * _seh_longjmp_unwind4 (MSVCRT.@) */ -void __stdcall _seh_longjmp_unwind4(struct MSVCRT___JUMP_BUFFER *jmp) +void __stdcall _seh_longjmp_unwind4(_JUMP_BUFFER *jmp) { msvcrt_local_unwind4( (ULONG *)&jmp->Cookie, (MSVCRT_EXCEPTION_FRAME *)jmp->Registration, jmp->TryLevel, (void *)jmp->Ebp ); diff --git a/dlls/msvcrt/except_x86_64.c b/dlls/msvcrt/except_x86_64.c index a1a1bc14543..7cbffc0d837 100644 --- a/dlls/msvcrt/except_x86_64.c +++ b/dlls/msvcrt/except_x86_64.c @@ -20,6 +20,7 @@ #ifdef __x86_64__ +#include <setjmp.h> #include <stdarg.h> #include <fpieee.h> @@ -705,7 +706,7 @@ __ASM_GLOBAL_FUNC( MSVCRT__setjmp, /******************************************************************* * longjmp (MSVCRT.@) */ -void __cdecl MSVCRT_longjmp( struct MSVCRT___JUMP_BUFFER *jmp, int retval ) +void __cdecl MSVCRT_longjmp( _JUMP_BUFFER *jmp, int retval ) { EXCEPTION_RECORD rec; diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index b26d736cb18..802482499ec 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -283,92 +283,6 @@ extern unsigned msvcrt_create_io_inherit_block(WORD*, BYTE**) DECLSPEC_HIDDEN; extern FILE MSVCRT__iob[]; -#ifdef __i386__ -struct MSVCRT___JUMP_BUFFER { - unsigned long Ebp; - unsigned long Ebx; - unsigned long Edi; - unsigned long Esi; - unsigned long Esp; - unsigned long Eip; - unsigned long Registration; - unsigned long TryLevel; - /* Start of new struct members */ - unsigned long Cookie; - unsigned long UnwindFunc; - unsigned long UnwindData[6]; -}; -#elif defined(__x86_64__) -struct MSVCRT__SETJMP_FLOAT128 -{ - unsigned __int64 DECLSPEC_ALIGN(16) Part[2]; -}; -struct MSVCRT___JUMP_BUFFER -{ - unsigned __int64 Frame; - unsigned __int64 Rbx; - unsigned __int64 Rsp; - unsigned __int64 Rbp; - unsigned __int64 Rsi; - unsigned __int64 Rdi; - unsigned __int64 R12; - unsigned __int64 R13; - unsigned __int64 R14; - unsigned __int64 R15; - unsigned __int64 Rip; - unsigned __int64 Spare; - struct MSVCRT__SETJMP_FLOAT128 Xmm6; - struct MSVCRT__SETJMP_FLOAT128 Xmm7; - struct MSVCRT__SETJMP_FLOAT128 Xmm8; - struct MSVCRT__SETJMP_FLOAT128 Xmm9; - struct MSVCRT__SETJMP_FLOAT128 Xmm10; - struct MSVCRT__SETJMP_FLOAT128 Xmm11; - struct MSVCRT__SETJMP_FLOAT128 Xmm12; - struct MSVCRT__SETJMP_FLOAT128 Xmm13; - struct MSVCRT__SETJMP_FLOAT128 Xmm14; - struct MSVCRT__SETJMP_FLOAT128 Xmm15; -}; -#elif defined(__arm__) -struct MSVCRT___JUMP_BUFFER -{ - unsigned long Frame; - unsigned long R4; - unsigned long R5; - unsigned long R6; - unsigned long R7; - unsigned long R8; - unsigned long R9; - unsigned long R10; - unsigned long R11; - unsigned long Sp; - unsigned long Pc; - unsigned long Fpscr; - unsigned long long D[8]; -}; -#elif defined(__aarch64__) -struct MSVCRT___JUMP_BUFFER -{ - unsigned __int64 Frame; - unsigned __int64 Reserved; - unsigned __int64 X19; - unsigned __int64 X20; - unsigned __int64 X21; - unsigned __int64 X22; - unsigned __int64 X23; - unsigned __int64 X24; - unsigned __int64 X25; - unsigned __int64 X26; - unsigned __int64 X27; - unsigned __int64 X28; - unsigned __int64 Fp; - unsigned __int64 Lr; - unsigned __int64 Sp; - unsigned long Fpcr; - unsigned long Fpsr; - double D[8]; -}; -#endif /* __i386__ */ - struct MSVCRT__finddata32_t { unsigned int attrib; __time32_t time_create;
1
0
0
0
Piotr Caban : msvcrt: Use _Dcomplex definition from public header.
by Alexandre Julliard
04 Dec '20
04 Dec '20
Module: wine Branch: master Commit: 494a78940735ab31bef9a8ae1d5e58175667df37 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=494a78940735ab31bef9a8ae…
Author: Piotr Caban <piotr(a)codeweavers.com> Date: Fri Dec 4 15:50:01 2020 +0100 msvcrt: Use _Dcomplex definition from public header. Signed-off-by: Piotr Caban <piotr(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/msvcrt/math.c | 7 ++++--- dlls/msvcrt/msvcrt.h | 2 -- include/Makefile.in | 1 + include/msvcrt/complex.h | 27 +++++++++++++++++++++++++++ 4 files changed, 32 insertions(+), 5 deletions(-) diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c index 84f08544092..f9327659f98 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c @@ -35,6 +35,7 @@ * ==================================================== */ +#include <complex.h> #include <stdio.h> #include <fenv.h> #include <fpieee.h> @@ -4177,14 +4178,14 @@ double CDECL _except1(DWORD fpe, _FP_OPERATION_CODE op, double arg, double res, _Dcomplex* CDECL _Cbuild(_Dcomplex *ret, double r, double i) { - ret->x = r; - ret->y = i; + ret->_Val[0] = r; + ret->_Val[1] = i; return ret; } double CDECL MSVCR120_creal(_Dcomplex z) { - return z.x; + return z._Val[0]; } /********************************************************************* diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index 26cb5fee996..b26d736cb18 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -283,8 +283,6 @@ extern unsigned msvcrt_create_io_inherit_block(WORD*, BYTE**) DECLSPEC_HIDDEN; extern FILE MSVCRT__iob[]; -typedef struct _complex _Dcomplex; - #ifdef __i386__ struct MSVCRT___JUMP_BUFFER { unsigned long Ebp; diff --git a/include/Makefile.in b/include/Makefile.in index a84e44998cc..9b6858b78f9 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -443,6 +443,7 @@ SOURCES = \ mstask.idl \ mstcpip.h \ msvcrt/assert.h \ + msvcrt/complex.h \ msvcrt/conio.h \ msvcrt/corecrt.h \ msvcrt/corecrt_startup.h \ diff --git a/include/msvcrt/complex.h b/include/msvcrt/complex.h new file mode 100644 index 00000000000..2d7009c470c --- /dev/null +++ b/include/msvcrt/complex.h @@ -0,0 +1,27 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the Wine project. + */ + +#ifndef _COMPLEX_H_DEFINED +#define _COMPLEX_H_DEFINED + +#include <corecrt.h> + +#ifndef _C_COMPLEX_T +#define _C_COMPLEX_T +typedef struct _C_double_complex +{ + double _Val[2]; +} _C_double_complex; + +typedef struct _C_float_complex +{ + float _Val[2]; +} _C_float_complex; +#endif + +typedef _C_double_complex _Dcomplex; +typedef _C_float_complex _Fcomplex; + +#endif /* _COMPLEX_H_DEFINED */
1
0
0
0
Piotr Caban : msvcrt: Use _purecall_handler from public header.
by Alexandre Julliard
04 Dec '20
04 Dec '20
Module: wine Branch: master Commit: 200fe8ac42ff0800c784ec686ccf494391f6907b URL:
https://source.winehq.org/git/wine.git/?a=commit;h=200fe8ac42ff0800c784ec68…
Author: Piotr Caban <piotr(a)codeweavers.com> Date: Fri Dec 4 15:49:58 2020 +0100 msvcrt: Use _purecall_handler from public header. Signed-off-by: Piotr Caban <piotr(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/msvcrt/exit.c | 8 ++++---- dlls/msvcrt/msvcrt.h | 1 - include/msvcrt/stdlib.h | 4 ++++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/dlls/msvcrt/exit.c b/dlls/msvcrt/exit.c index ee6c30356fd..bb977f7c957 100644 --- a/dlls/msvcrt/exit.c +++ b/dlls/msvcrt/exit.c @@ -31,7 +31,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(msvcrt); #define LOCK_EXIT _lock(_EXIT_LOCK1) #define UNLOCK_EXIT _unlock(_EXIT_LOCK1) -static MSVCRT_purecall_handler purecall_handler = NULL; +static _purecall_handler purecall_handler = NULL; static _onexit_table_t MSVCRT_atexit_table; @@ -461,9 +461,9 @@ void CDECL _register_thread_local_exe_atexit_callback(_tls_callback_type callbac /********************************************************************* * _set_purecall_handler (MSVCR71.@) */ -MSVCRT_purecall_handler CDECL _set_purecall_handler(MSVCRT_purecall_handler function) +_purecall_handler CDECL _set_purecall_handler(_purecall_handler function) { - MSVCRT_purecall_handler ret = purecall_handler; + _purecall_handler ret = purecall_handler; TRACE("(%p)\n", function); purecall_handler = function; @@ -475,7 +475,7 @@ MSVCRT_purecall_handler CDECL _set_purecall_handler(MSVCRT_purecall_handler func /********************************************************************* * _get_purecall_handler (MSVCR80.@) */ -MSVCRT_purecall_handler CDECL _get_purecall_handler(void) +_purecall_handler CDECL _get_purecall_handler(void) { TRACE("\n"); return purecall_handler; diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index a8bb25132e5..26cb5fee996 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -40,7 +40,6 @@ typedef void (__cdecl *unexpected_function)(void); typedef void (__cdecl *_se_translator_function)(unsigned int code, struct _EXCEPTION_POINTERS *info); void __cdecl terminate(void); -typedef void (__cdecl *MSVCRT_purecall_handler)(void); typedef void (__cdecl *MSVCRT_security_error_handler)(int, void *); typedef struct {ULONG x80[3];} MSVCRT__LDOUBLE; /* Intel 80 bit FP format has sizeof() 12 */ diff --git a/include/msvcrt/stdlib.h b/include/msvcrt/stdlib.h index cdfe3e4b742..ed6560bc318 100644 --- a/include/msvcrt/stdlib.h +++ b/include/msvcrt/stdlib.h @@ -230,6 +230,10 @@ _ACRTIMP int __cdecl system(const char*); _ACRTIMP void* __cdecl bsearch(const void*,const void*,size_t,size_t,int (__cdecl *)(const void*,const void*)); _ACRTIMP void __cdecl qsort(void*,size_t,size_t,int (__cdecl *)(const void*,const void*)); +typedef void (__cdecl *_purecall_handler)(void); +_ACRTIMP _purecall_handler __cdecl _set_purecall_handler(_purecall_handler); +_ACRTIMP _purecall_handler __cdecl _get_purecall_handler(void); + typedef void (__cdecl *_invalid_parameter_handler)(const wchar_t*, const wchar_t*, const wchar_t*, unsigned, uintptr_t); _ACRTIMP _invalid_parameter_handler __cdecl _set_invalid_parameter_handler(_invalid_parameter_handler); _ACRTIMP _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void);
1
0
0
0
Piotr Caban : msvcrt: Use _invalid_parameter_handler from public header.
by Alexandre Julliard
04 Dec '20
04 Dec '20
Module: wine Branch: master Commit: 264ba46bcdcd2119c2f9712ba52bb74c35bd369b URL:
https://source.winehq.org/git/wine.git/?a=commit;h=264ba46bcdcd2119c2f9712b…
Author: Piotr Caban <piotr(a)codeweavers.com> Date: Fri Dec 4 15:49:53 2020 +0100 msvcrt: Use _invalid_parameter_handler from public header. Signed-off-by: Piotr Caban <piotr(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/msvcrt/errno.c | 18 +++++++++--------- dlls/msvcrt/msvcrt.h | 3 +-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/dlls/msvcrt/errno.c b/dlls/msvcrt/errno.c index 592d37ced8a..85752e52df7 100644 --- a/dlls/msvcrt/errno.c +++ b/dlls/msvcrt/errno.c @@ -126,7 +126,7 @@ char *MSVCRT__sys_errlist[] = unsigned int MSVCRT__sys_nerr = ARRAY_SIZE(MSVCRT__sys_errlist) - 1; -static MSVCRT_invalid_parameter_handler invalid_parameter_handler = NULL; +static _invalid_parameter_handler invalid_parameter_handler = NULL; /* INTERNAL: Set the crt and dos errno's from the OS error given. */ void msvcrt_set_errno(int err) @@ -503,7 +503,7 @@ void CDECL _invalid_parameter_noinfo_noreturn(void) /********************************************************************* * _get_invalid_parameter_handler (MSVCR80.@) */ -MSVCRT_invalid_parameter_handler CDECL _get_invalid_parameter_handler(void) +_invalid_parameter_handler CDECL _get_invalid_parameter_handler(void) { TRACE("\n"); return invalid_parameter_handler; @@ -512,10 +512,10 @@ MSVCRT_invalid_parameter_handler CDECL _get_invalid_parameter_handler(void) /********************************************************************* * _set_invalid_parameter_handler (MSVCR80.@) */ -MSVCRT_invalid_parameter_handler CDECL _set_invalid_parameter_handler( - MSVCRT_invalid_parameter_handler handler) +_invalid_parameter_handler CDECL _set_invalid_parameter_handler( + _invalid_parameter_handler handler) { - MSVCRT_invalid_parameter_handler old = invalid_parameter_handler; + _invalid_parameter_handler old = invalid_parameter_handler; TRACE("(%p)\n", handler); @@ -530,7 +530,7 @@ MSVCRT_invalid_parameter_handler CDECL _set_invalid_parameter_handler( /********************************************************************* * _get_thread_local_invalid_parameter_handler (UCRTBASE.@) */ -MSVCRT_invalid_parameter_handler CDECL _get_thread_local_invalid_parameter_handler(void) +_invalid_parameter_handler CDECL _get_thread_local_invalid_parameter_handler(void) { TRACE("\n"); return msvcrt_get_thread_data()->invalid_parameter_handler; @@ -539,11 +539,11 @@ MSVCRT_invalid_parameter_handler CDECL _get_thread_local_invalid_parameter_handl /********************************************************************* * _set_thread_local_invalid_parameter_handler (UCRTBASE.@) */ -MSVCRT_invalid_parameter_handler CDECL _set_thread_local_invalid_parameter_handler( - MSVCRT_invalid_parameter_handler handler) +_invalid_parameter_handler CDECL _set_thread_local_invalid_parameter_handler( + _invalid_parameter_handler handler) { thread_data_t *data = msvcrt_get_thread_data(); - MSVCRT_invalid_parameter_handler old = data->invalid_parameter_handler; + _invalid_parameter_handler old = data->invalid_parameter_handler; TRACE("(%p)\n", handler); diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index 257497b72a2..a8bb25132e5 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -40,7 +40,6 @@ typedef void (__cdecl *unexpected_function)(void); typedef void (__cdecl *_se_translator_function)(unsigned int code, struct _EXCEPTION_POINTERS *info); void __cdecl terminate(void); -typedef void (__cdecl *MSVCRT_invalid_parameter_handler)(const wchar_t*, const wchar_t*, const wchar_t*, unsigned, uintptr_t); typedef void (__cdecl *MSVCRT_purecall_handler)(void); typedef void (__cdecl *MSVCRT_security_error_handler)(int, void *); @@ -164,7 +163,7 @@ struct __thread_data { char cached_locale[131]; void *unk10[100]; #if _MSVCR_VER >= 140 - MSVCRT_invalid_parameter_handler invalid_parameter_handler; + _invalid_parameter_handler invalid_parameter_handler; #endif };
1
0
0
0
Henri Verbeet : wined3d: Handle GL_APPLE_flush_buffer_range flushing in wined3d_context_gl_unmap_bo_address().
by Alexandre Julliard
04 Dec '20
04 Dec '20
Module: wine Branch: master Commit: b2748a99fdd4ba9fd2c747d8a4ab11dc9b70b8ed URL:
https://source.winehq.org/git/wine.git/?a=commit;h=b2748a99fdd4ba9fd2c747d8…
Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Fri Dec 4 18:33:35 2020 +0330 wined3d: Handle GL_APPLE_flush_buffer_range flushing in wined3d_context_gl_unmap_bo_address(). Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/wined3d/buffer.c | 27 --------------------------- dlls/wined3d/context_gl.c | 9 +++++++++ 2 files changed, 9 insertions(+), 27 deletions(-) diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c index c752b329a32..6ff6a5b6cd0 100644 --- a/dlls/wined3d/buffer.c +++ b/dlls/wined3d/buffer.c @@ -32,7 +32,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d); #define WINED3D_BUFFER_HASDESC 0x01 /* A vertex description has been found. */ #define WINED3D_BUFFER_USE_BO 0x02 /* Use a buffer object for this buffer. */ #define WINED3D_BUFFER_PIN_SYSMEM 0x04 /* Keep a system memory copy for this buffer. */ -#define WINED3D_BUFFER_APPLESYNC 0x10 /* Using sync as in GL_APPLE_flush_buffer_range. */ #define VB_MAXDECLCHANGES 100 /* After that number of decl changes we stop converting */ #define VB_RESETDECLCHANGE 1000 /* Reset the decl changecount after that number of draws */ @@ -160,8 +159,6 @@ static void wined3d_buffer_gl_destroy_buffer_object(struct wined3d_buffer_gl *bu list_remove(&buffer_gl->bo_user.entry); wined3d_context_gl_destroy_bo(context_gl, &buffer_gl->bo); buffer_gl->b.buffer_object = 0; - - buffer_gl->b.flags &= ~WINED3D_BUFFER_APPLESYNC; } /* Context activation is done by the caller. */ @@ -196,9 +193,6 @@ static BOOL wined3d_buffer_gl_create_buffer_object(struct wined3d_buffer_gl *buf return FALSE; } - if (!coherent && gl_info->supported[APPLE_FLUSH_BUFFER_RANGE]) - buffer_gl->b.flags |= WINED3D_BUFFER_APPLESYNC; - list_init(&buffer_gl->bo_user.entry); list_add_head(&buffer_gl->bo.users, &buffer_gl->bo_user.entry); buffer_gl->b.buffer_object = (uintptr_t)bo; @@ -988,27 +982,6 @@ static HRESULT buffer_resource_sub_resource_unmap(struct wined3d_resource *resou context = context_acquire(device, NULL, 0); - if (buffer->flags & WINED3D_BUFFER_APPLESYNC) - { - struct wined3d_context_gl *context_gl; - const struct wined3d_gl_info *gl_info; - struct wined3d_buffer_gl *buffer_gl; - unsigned int i; - - buffer_gl = wined3d_buffer_gl(buffer); - context_gl = wined3d_context_gl(context); - gl_info = context_gl->gl_info; - - wined3d_buffer_gl_bind(buffer_gl, context_gl); - for (i = 0; i < range_count; ++i) - { - GL_EXTCALL(glFlushMappedBufferRangeAPPLE(buffer_gl->bo.binding, - buffer->maps[i].offset, buffer->maps[i].size)); - checkGLcall("glFlushMappedBufferRangeAPPLE"); - } - range_count = 0; - } - addr.buffer_object = buffer->buffer_object; addr.addr = 0; wined3d_context_unmap_bo_address(context, &addr, range_count, buffer->maps); diff --git a/dlls/wined3d/context_gl.c b/dlls/wined3d/context_gl.c index f2f6185ecc6..ea12778e292 100644 --- a/dlls/wined3d/context_gl.c +++ b/dlls/wined3d/context_gl.c @@ -2743,6 +2743,15 @@ void wined3d_context_gl_unmap_bo_address(struct wined3d_context_gl *context_gl, (UINT_PTR)data->addr + ranges[i].offset, ranges[i].size)); } } + else if (!bo->coherent && gl_info->supported[APPLE_FLUSH_BUFFER_RANGE]) + { + for (i = 0; i < range_count; ++i) + { + GL_EXTCALL(glFlushMappedBufferRangeAPPLE(bo->binding, + (uintptr_t)data->addr + ranges[i].offset, ranges[i].size)); + checkGLcall("glFlushMappedBufferRangeAPPLE"); + } + } GL_EXTCALL(glUnmapBuffer(bo->binding)); wined3d_context_gl_bind_bo(context_gl, bo->binding, 0);
1
0
0
0
Henri Verbeet : wined3d: Get rid of redundant DISCARD filtering.
by Alexandre Julliard
04 Dec '20
04 Dec '20
Module: wine Branch: master Commit: 1044bc4a0527c554ca20a5014eaebdc8c741ea23 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=1044bc4a0527c554ca20a501…
Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Fri Dec 4 18:33:34 2020 +0330 wined3d: Get rid of redundant DISCARD filtering. Now that we handle DISCARD maps ourselves, this happens implicitly. Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/wined3d/buffer.c | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c index acedc1a183e..c752b329a32 100644 --- a/dlls/wined3d/buffer.c +++ b/dlls/wined3d/buffer.c @@ -32,7 +32,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d); #define WINED3D_BUFFER_HASDESC 0x01 /* A vertex description has been found. */ #define WINED3D_BUFFER_USE_BO 0x02 /* Use a buffer object for this buffer. */ #define WINED3D_BUFFER_PIN_SYSMEM 0x04 /* Keep a system memory copy for this buffer. */ -#define WINED3D_BUFFER_DISCARD 0x08 /* A DISCARD lock has occurred since the last preload. */ #define WINED3D_BUFFER_APPLESYNC 0x10 /* Using sync as in GL_APPLE_flush_buffer_range. */ #define VB_MAXDECLCHANGES 100 /* After that number of decl changes we stop converting */ @@ -714,11 +713,6 @@ void * CDECL wined3d_buffer_get_parent(const struct wined3d_buffer *buffer) return buffer->resource.parent; } -static void buffer_mark_used(struct wined3d_buffer *buffer) -{ - buffer->flags &= ~WINED3D_BUFFER_DISCARD; -} - /* Context activation is done by the caller. */ void wined3d_buffer_load(struct wined3d_buffer *buffer, struct wined3d_context *context, const struct wined3d_state *state) @@ -738,8 +732,6 @@ void wined3d_buffer_load(struct wined3d_buffer *buffer, struct wined3d_context * WARN("Loading mapped buffer.\n"); } - buffer_mark_used(buffer); - /* TODO: Make converting independent from VBOs */ if (!(buffer->flags & WINED3D_BUFFER_USE_BO)) { @@ -921,16 +913,6 @@ static HRESULT buffer_resource_sub_resource_map(struct wined3d_resource *resourc if (count == 1) { - /* Filter redundant WINED3D_MAP_DISCARD maps. The 3DMark2001 - * multitexture fill rate test seems to depend on this. When - * we map a buffer with GL_MAP_INVALIDATE_BUFFER_BIT, the - * driver is free to discard the previous contents of the - * buffer. The r600g driver only does this when the buffer is - * currently in use, while the proprietary NVIDIA driver - * appears to do this unconditionally. */ - if (buffer->flags & WINED3D_BUFFER_DISCARD) - flags &= ~WINED3D_MAP_DISCARD; - addr.buffer_object = buffer->buffer_object; addr.addr = 0; buffer->map_ptr = wined3d_context_map_bo_address(context, &addr, resource->size, flags); @@ -962,9 +944,6 @@ static HRESULT buffer_resource_sub_resource_map(struct wined3d_resource *resourc context_release(context); } - - if (flags & WINED3D_MAP_DISCARD) - buffer->flags |= WINED3D_BUFFER_DISCARD; } base = buffer->map_ptr ? buffer->map_ptr : resource->heap_memory; @@ -1052,9 +1031,6 @@ void wined3d_buffer_copy(struct wined3d_buffer *dst_buffer, unsigned int dst_off TRACE("dst_buffer %p, dst_offset %u, src_buffer %p, src_offset %u, size %u.\n", dst_buffer, dst_offset, src_buffer, src_offset, size); - buffer_mark_used(dst_buffer); - buffer_mark_used(src_buffer); - dst_location = wined3d_buffer_get_memory(dst_buffer, &dst, dst_buffer->locations); dst.addr += dst_offset;
1
0
0
0
Henri Verbeet : wined3d: Allocate a new bo for busy DISCARD maps.
by Alexandre Julliard
04 Dec '20
04 Dec '20
Module: wine Branch: master Commit: 8b3cc57df0b791ca6c33f383f9358e1613206b84 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=8b3cc57df0b791ca6c33f383…
Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Fri Dec 4 18:33:33 2020 +0330 wined3d: Allocate a new bo for busy DISCARD maps. Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/wined3d/adapter_gl.c | 2 ++ dlls/wined3d/buffer.c | 26 --------------- dlls/wined3d/context_gl.c | 72 ++++++++++++++++++++++++++++++++++-------- dlls/wined3d/resource.c | 5 +-- dlls/wined3d/view.c | 25 ++++++++++++++- dlls/wined3d/wined3d_private.h | 9 ++++++ 6 files changed, 95 insertions(+), 44 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=8b3cc57df0b791ca6c33…
1
0
0
0
Henri Verbeet : wined3d: Use the "bo user" mechanism to invalidate existing bindings in wined3d_buffer_gl_destroy_buffer_object().
by Alexandre Julliard
04 Dec '20
04 Dec '20
Module: wine Branch: master Commit: 4c5581c2eb7ed40185807082241662001e317f98 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=4c5581c2eb7ed40185807082…
Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Fri Dec 4 18:33:32 2020 +0330 wined3d: Use the "bo user" mechanism to invalidate existing bindings in wined3d_buffer_gl_destroy_buffer_object(). Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/wined3d/adapter_vk.c | 6 +++--- dlls/wined3d/buffer.c | 47 +++++++++++------------------------------- dlls/wined3d/context_gl.c | 20 +++++++++++++++--- dlls/wined3d/state.c | 36 ++++++++++++++++++++++---------- dlls/wined3d/wined3d_private.h | 8 ++++--- 5 files changed, 62 insertions(+), 55 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=4c5581c2eb7ed4018580…
1
0
0
0
Nikolay Sivov : bcrypt: Add initial support for asymmetric keys in BCryptDecrypt().
by Alexandre Julliard
04 Dec '20
04 Dec '20
Module: wine Branch: master Commit: 38d9020f29dad8d6d76916826da7a59ac308d92e URL:
https://source.winehq.org/git/wine.git/?a=commit;h=38d9020f29dad8d6d7691682…
Author: Nikolay Sivov <nsivov(a)codeweavers.com> Date: Fri Dec 4 16:40:06 2020 +0300 bcrypt: Add initial support for asymmetric keys in BCryptDecrypt(). Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Hans Leidekker <hans(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/bcrypt/bcrypt_internal.h | 1 + dlls/bcrypt/bcrypt_main.c | 22 ++++++++++++++++++++-- dlls/bcrypt/gnutls.c | 43 +++++++++++++++++++++++++++++++++++++++++++ dlls/bcrypt/macos.c | 8 ++++++++ 4 files changed, 72 insertions(+), 2 deletions(-) diff --git a/dlls/bcrypt/bcrypt_internal.h b/dlls/bcrypt/bcrypt_internal.h index e1777ed130b..eb136111509 100644 --- a/dlls/bcrypt/bcrypt_internal.h +++ b/dlls/bcrypt/bcrypt_internal.h @@ -206,6 +206,7 @@ struct key_funcs void (CDECL *key_symmetric_destroy)( struct key * ); NTSTATUS (CDECL *key_asymmetric_init)( struct key * ); NTSTATUS (CDECL *key_asymmetric_generate)( struct key * ); + NTSTATUS (CDECL *key_asymmetric_decrypt)( struct key *, UCHAR *, ULONG, UCHAR *, ULONG * ); NTSTATUS (CDECL *key_asymmetric_duplicate)( struct key *, struct key * ); NTSTATUS (CDECL *key_asymmetric_sign)( struct key *, void *, UCHAR *, ULONG, UCHAR *, ULONG, ULONG *, ULONG ); NTSTATUS (CDECL *key_asymmetric_verify)( struct key *, void *, UCHAR *, ULONG, UCHAR *, ULONG, DWORD ); diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c index 591c01c710c..a1423dcd836 100644 --- a/dlls/bcrypt/bcrypt_main.c +++ b/dlls/bcrypt/bcrypt_main.c @@ -1160,8 +1160,8 @@ static NTSTATUS key_encrypt( struct key *key, UCHAR *input, ULONG input_len, vo return status; } -static NTSTATUS key_decrypt( struct key *key, UCHAR *input, ULONG input_len, void *padding, UCHAR *iv, - ULONG iv_len, UCHAR *output, ULONG output_len, ULONG *ret_len, ULONG flags ) +static NTSTATUS key_symmetric_decrypt( struct key *key, UCHAR *input, ULONG input_len, void *padding, UCHAR *iv, + ULONG iv_len, UCHAR *output, ULONG output_len, ULONG *ret_len, ULONG flags ) { ULONG bytes_left = input_len; UCHAR *buf, *src, *dst; @@ -1240,6 +1240,24 @@ static NTSTATUS key_decrypt( struct key *key, UCHAR *input, ULONG input_len, voi return status; } +static NTSTATUS key_asymmetric_decrypt( struct key *key, UCHAR *input, ULONG input_len, UCHAR *output, + ULONG output_len, ULONG *ret_len ) +{ + NTSTATUS status; + + if (!(status = key_funcs->key_asymmetric_decrypt( key, input, input_len, output, &output_len ))) + *ret_len = output_len; + + return status; +} + +static NTSTATUS key_decrypt( struct key *key, UCHAR *input, ULONG input_len, void *padding, UCHAR *iv, + ULONG iv_len, UCHAR *output, ULONG output_len, ULONG *ret_len, ULONG flags ) +{ + return key_is_symmetric( key ) ? key_symmetric_decrypt( key, input, input_len, padding, iv, iv_len, + output, output_len, ret_len, flags ) : key_asymmetric_decrypt( key, input, input_len, output, output_len, ret_len ); +} + static NTSTATUS key_import_pair( struct algorithm *alg, const WCHAR *type, BCRYPT_KEY_HANDLE *ret_key, UCHAR *input, ULONG input_len ) { diff --git a/dlls/bcrypt/gnutls.c b/dlls/bcrypt/gnutls.c index 162ac9ea732..c065ac31fba 100644 --- a/dlls/bcrypt/gnutls.c +++ b/dlls/bcrypt/gnutls.c @@ -109,6 +109,7 @@ static int (*pgnutls_privkey_generate)(gnutls_privkey_t, gnutls_pk_algorithm_t, static int (*pgnutls_privkey_import_rsa_raw)(gnutls_privkey_t, const gnutls_datum_t *, const gnutls_datum_t *, const gnutls_datum_t *, const gnutls_datum_t *, const gnutls_datum_t *, const gnutls_datum_t *, const gnutls_datum_t *, const gnutls_datum_t *); +static int (*pgnutls_privkey_decrypt_data)(gnutls_privkey_t, unsigned int flags, const gnutls_datum_t *, gnutls_datum_t *); /* Not present in gnutls version < 3.6.0 */ static int (*pgnutls_decode_rs_value)(const gnutls_datum_t *, gnutls_datum_t *, gnutls_datum_t *); @@ -124,6 +125,7 @@ MAKE_FUNCPTR(gnutls_global_init); MAKE_FUNCPTR(gnutls_global_set_log_function); MAKE_FUNCPTR(gnutls_global_set_log_level); MAKE_FUNCPTR(gnutls_perror); +MAKE_FUNCPTR(gnutls_privkey_decrypt_data); MAKE_FUNCPTR(gnutls_privkey_deinit); MAKE_FUNCPTR(gnutls_privkey_import_dsa_raw); MAKE_FUNCPTR(gnutls_privkey_init); @@ -215,6 +217,12 @@ static int compat_gnutls_privkey_import_rsa_raw(gnutls_privkey_t key, const gnut return GNUTLS_E_UNKNOWN_PK_ALGORITHM; } +static int compat_gnutls_privkey_decrypt_data(gnutls_privkey_t key, unsigned int flags, const gnutls_datum_t *cipher_text, + gnutls_datum_t *plain_text) +{ + return GNUTLS_E_UNKNOWN_PK_ALGORITHM; +} + static void gnutls_log( int level, const char *msg ) { TRACE( "<%d> %s", level, msg ); @@ -341,6 +349,11 @@ static BOOL gnutls_initialize(void) WARN("gnutls_privkey_import_rsa_raw not found\n"); pgnutls_privkey_import_rsa_raw = compat_gnutls_privkey_import_rsa_raw; } + if (!(pgnutls_privkey_decrypt_data = dlsym( libgnutls_handle, "gnutls_privkey_decrypt_data" ))) + { + WARN("gnutls_privkey_decrypt_data not found\n"); + pgnutls_privkey_decrypt_data = compat_gnutls_privkey_decrypt_data; + } if (TRACE_ON( bcrypt )) { @@ -1883,6 +1896,35 @@ static NTSTATUS CDECL key_asymmetric_duplicate( struct key *key_orig, struct key return STATUS_SUCCESS; } +static NTSTATUS CDECL key_asymmetric_decrypt( struct key *key, UCHAR *input, ULONG input_len, + UCHAR *output, ULONG *output_len ) +{ + gnutls_datum_t e, d = { 0 }; + NTSTATUS status = STATUS_SUCCESS; + int ret; + + e.data = (unsigned char *)input; + e.size = input_len; + + if ((ret = pgnutls_privkey_decrypt_data( key_data(key)->privkey, 0, &e, &d ))) + { + pgnutls_perror( ret ); + return STATUS_INTERNAL_ERROR; + } + + if (*output_len >= d.size) + { + *output_len = d.size; + memcpy( output, d.data, *output_len ); + } + else + status = STATUS_BUFFER_TOO_SMALL; + + free( d.data ); + + return status; +} + static const struct key_funcs key_funcs = { key_set_property, @@ -1895,6 +1937,7 @@ static const struct key_funcs key_funcs = key_symmetric_destroy, key_asymmetric_init, key_asymmetric_generate, + key_asymmetric_decrypt, key_asymmetric_duplicate, key_asymmetric_sign, key_asymmetric_verify, diff --git a/dlls/bcrypt/macos.c b/dlls/bcrypt/macos.c index 57edc3e262b..44906519cef 100644 --- a/dlls/bcrypt/macos.c +++ b/dlls/bcrypt/macos.c @@ -271,6 +271,13 @@ static NTSTATUS CDECL key_asymmetric_duplicate( struct key *key_orig, struct key return STATUS_NOT_IMPLEMENTED; } +static NTSTATUS CDECL key_asymmetric_decrypt( struct key *key, UCHAR *input, ULONG input_len, + UCHAR *output, ULONG *output_len ) +{ + FIXME( "not implemented on Mac\n" ); + return STATUS_NOT_IMPLEMENTED; +} + static const struct key_funcs key_funcs = { key_set_property, @@ -283,6 +290,7 @@ static const struct key_funcs key_funcs = key_symmetric_destroy, key_asymmetric_init, key_asymmetric_generate, + key_asymmetric_decrypt, key_asymmetric_duplicate, key_asymmetric_sign, key_asymmetric_verify,
1
0
0
0
Alexandre Julliard : makefiles: Get rid of the libwine.so symlink.
by Alexandre Julliard
04 Dec '20
04 Dec '20
Module: wine Branch: master Commit: 497c902857241ec340e562ec3490a344704440dc URL:
https://source.winehq.org/git/wine.git/?a=commit;h=497c902857241ec340e562ec…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Fri Dec 4 11:09:17 2020 +0100 makefiles: Get rid of the libwine.so symlink. We no longer need to link to libwine. Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- configure | 2 -- configure.ac | 2 -- tools/makedep.c | 3 --- 3 files changed, 7 deletions(-) diff --git a/configure b/configure index d8759253727..ea6a82086bf 100755 --- a/configure +++ b/configure @@ -9120,7 +9120,6 @@ fi WINELOADER_DEPENDS="wine_info.plist" TOP_INSTALL_LIB="$TOP_INSTALL_LIB libs/wine/libwine.$libwine_version.dylib libs/wine/libwine.$libwine_soversion.dylib" - TOP_INSTALL_DEV="$TOP_INSTALL_DEV libs/wine/libwine.dylib" ;; linux-android*) @@ -9599,7 +9598,6 @@ $as_echo "$ac_cv_c_dll_unixware" >&6; } LIBWINE_DEPENDS="wine.map" TOP_INSTALL_LIB="$TOP_INSTALL_LIB libs/wine/libwine.so.$libwine_version libs/wine/libwine.so.$libwine_soversion" - TOP_INSTALL_DEV="$TOP_INSTALL_DEV libs/wine/libwine.so" ;; esac diff --git a/configure.ac b/configure.ac index 168df52f791..020fd19256f 100644 --- a/configure.ac +++ b/configure.ac @@ -887,7 +887,6 @@ case $host_os in AC_SUBST(LIBWINE_LDFLAGS,["-dynamiclib -install_name @rpath/libwine.$libwine_soversion.dylib -Wl,-rpath,@loader_path/ -compatibility_version $libwine_soversion -current_version $libwine_version"]) AC_SUBST(WINELOADER_DEPENDS,"wine_info.plist") TOP_INSTALL_LIB="$TOP_INSTALL_LIB libs/wine/libwine.$libwine_version.dylib libs/wine/libwine.$libwine_soversion.dylib" - TOP_INSTALL_DEV="$TOP_INSTALL_DEV libs/wine/libwine.dylib" ;; linux-android*) @@ -980,7 +979,6 @@ case $host_os in AC_SUBST(LIBWINE_SHAREDLIB,"libwine.so.$libwine_version") AC_SUBST(LIBWINE_DEPENDS,"wine.map") TOP_INSTALL_LIB="$TOP_INSTALL_LIB libs/wine/libwine.so.$libwine_version libs/wine/libwine.so.$libwine_soversion" - TOP_INSTALL_DEV="$TOP_INSTALL_DEV libs/wine/libwine.so" ;; esac diff --git a/tools/makedep.c b/tools/makedep.c index d892b7e9541..b21362c6c9e 100644 --- a/tools/makedep.c +++ b/tools/makedep.c @@ -2388,9 +2388,6 @@ static struct strarray get_shared_lib_names( const char *libname ) strcpy( second, ext ); strarray_add( &ret, xstrdup( name )); } - /* now remove all digits */ - strcpy( first, ext ); - strarray_add( &ret, name ); return ret; }
1
0
0
0
← Newer
1
...
21
22
23
24
25
26
27
...
42
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
Results per page:
10
25
50
100
200