On 26.03.2015 14:32, Hugh McMaster wrote:
- /* Enable handling of Ctrl-C signals */
- if (SetConsoleCtrlHandler((PHANDLER_ROUTINE)console_ctrl_handler, TRUE))
WINE_TRACE("cmd: Ctrl handler was installed.\n");
- else
WINE_ERR("cmd: Unable to install Ctrl handler.\n");
Judging by the fact that you needed a cast, that's not right.
On Thu, 26 Mar 2015 14:39:12 +0300, Nikolay Sivov wrote:
On 26.03.2015 14:32, Hugh McMaster wrote:
- /* Enable handling of Ctrl-C signals */
- if (SetConsoleCtrlHandler((PHANDLER_ROUTINE)console_ctrl_handler, TRUE))
WINE_TRACE("cmd: Ctrl handler was installed.\n");
- else
WINE_ERR("cmd: Unable to install Ctrl handler.\n");
Judging by the fact that you needed a cast, that's not right.
The PHANDLER_ROUTINE is a pointer to the function handler. MSDN's own example [1] on installing a Ctrl handler uses a cast.
Otherwise, what would you suggest?
[1] https://msdn.microsoft.com/en-us/library/windows/desktop/ms685049%28v=vs.85%...
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2015-03-26 um 13:46 schrieb Hugh McMaster:
The PHANDLER_ROUTINE is a pointer to the function handler. MSDN's own example [1] on installing a Ctrl handler uses a cast.
Otherwise, what would you suggest?
If the function signature (including calling convention) matches the one SetConsoleCtrlHandler expects the compiler should accept it without a cast and without a warning.
In your patch you should probably use WINAPI for console_ctrl_handler.
That the MSDN example uses a cast is just terrible. If you get e.g. the calling convention wrong you're begging for random crashes or incorrectly passed parameters that are difficult to debug.
On Thu, 26 Mar 2015 15:15:34 +0100, Stefan Dösinger wrote:
Am 2015-03-26 um 13:46 schrieb Hugh McMaster:
The PHANDLER_ROUTINE is a pointer to the function handler. MSDN's own example [1] on installing a Ctrl handler uses a cast.
Otherwise, what would you suggest?
If the function signature (including calling convention) matches the one SetConsoleCtrlHandler expects the compiler should accept it without a cast and without a warning.
In your patch you should probably use WINAPI for console_ctrl_handler.
The compiler accepted "BOOL WINAPI console_ctrl_handler" without warnings.
Thanks. I'll send a new patch.