From patchwork Mon Nov 2 19:36:00 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pedro Alves X-Patchwork-Id: 9501 Received: (qmail 19861 invoked by alias); 2 Nov 2015 19:36:17 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 19756 invoked by uid 89); 2 Nov 2015 19:36:16 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL, BAYES_00, SPF_HELO_PASS, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Mon, 02 Nov 2015 19:36:14 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id 305CE96DD for ; Mon, 2 Nov 2015 19:36:13 +0000 (UTC) Received: from brno.lan (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id tA2JaAPs009459 for ; Mon, 2 Nov 2015 14:36:12 -0500 From: Pedro Alves To: gdb-patches@sourceware.org Subject: [PATCH 01/11] [C++/mingw] ser-mingw.c casts Date: Mon, 2 Nov 2015 19:36:00 +0000 Message-Id: <1446492970-21432-2-git-send-email-palves@redhat.com> In-Reply-To: <1446492970-21432-1-git-send-email-palves@redhat.com> References: <1446492970-21432-1-git-send-email-palves@redhat.com> 2015-11-01 Pedro Alves * ser-mingw.c (CancelIo_ftype): New typedef. (CancelIo): Use CancelIo_ftype. (ser_windows_close, ser_windows_wait_handle) (ser_windows_read_prim, stop_select_thread) (console_select_thread, pipe_select_thread, file_select_thread) (ser_console_wait_handle, ser_console_done_wait_handle) (ser_console_close, cleanup_pipe_state, pipe_windows_close) (pipe_windows_write, pipe_wait_handle, pipe_done_wait_handle) (net_windows_socket_check_pending, net_windows_select_thread) (net_windows_wait_handle, net_windows_done_wait_handle) (net_windows_close): Add casts. (_initialize_ser_windows): Cast to CancelIo_ftype* instead of void*. --- gdb/ser-mingw.c | 51 ++++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/gdb/ser-mingw.c b/gdb/ser-mingw.c index e3a0ec9..3cab520 100644 --- a/gdb/ser-mingw.c +++ b/gdb/ser-mingw.c @@ -44,7 +44,8 @@ struct ser_windows_state /* CancelIo is not available for Windows 95 OS, so we need to use LoadLibrary/GetProcAddress to avoid a startup failure. */ #define CancelIo dyn_CancelIo -static BOOL WINAPI (*CancelIo) (HANDLE); +typedef BOOL WINAPI (CancelIo_ftype) (HANDLE); +static CancelIo_ftype *CancelIo; /* Open up a real live device for serial I/O. */ @@ -254,7 +255,7 @@ ser_windows_close (struct serial *scb) by calling close (scb->fd) below. */ if (CancelIo) CancelIo ((HANDLE) _get_osfhandle (scb->fd)); - state = scb->state; + state = (struct ser_windows_state *) scb->state; CloseHandle (state->ov.hEvent); CloseHandle (state->except_event); @@ -275,7 +276,7 @@ ser_windows_wait_handle (struct serial *scb, HANDLE *read, HANDLE *except) DWORD errors; HANDLE h = (HANDLE) _get_osfhandle (scb->fd); - state = scb->state; + state = (struct ser_windows_state *) scb->state; *except = state->except_event; *read = state->ov.hEvent; @@ -328,7 +329,7 @@ ser_windows_read_prim (struct serial *scb, size_t count) HANDLE h; gdb_byte *p; - state = scb->state; + state = (struct ser_windows_state *) scb->state; if (state->in_progress) { WaitForSingleObject (state->ov.hEvent, INFINITE); @@ -532,12 +533,12 @@ stop_select_thread (struct ser_console_state *state) static DWORD WINAPI console_select_thread (void *arg) { - struct serial *scb = arg; + struct serial *scb = (struct serial *) arg; struct ser_console_state *state; int event_index; HANDLE h; - state = scb->state; + state = (struct ser_console_state *) scb->state; h = (HANDLE) _get_osfhandle (scb->fd); while (1) @@ -635,12 +636,12 @@ fd_is_file (int fd) static DWORD WINAPI pipe_select_thread (void *arg) { - struct serial *scb = arg; + struct serial *scb = (struct serial *) arg; struct ser_console_state *state; int event_index; HANDLE h; - state = scb->state; + state = (struct ser_console_state *) scb->state; h = (HANDLE) _get_osfhandle (scb->fd); while (1) @@ -678,12 +679,12 @@ pipe_select_thread (void *arg) static DWORD WINAPI file_select_thread (void *arg) { - struct serial *scb = arg; + struct serial *scb = (struct serial *) arg; struct ser_console_state *state; int event_index; HANDLE h; - state = scb->state; + state = (struct ser_console_state *) scb->state; h = (HANDLE) _get_osfhandle (scb->fd); while (1) @@ -704,7 +705,7 @@ file_select_thread (void *arg) static void ser_console_wait_handle (struct serial *scb, HANDLE *read, HANDLE *except) { - struct ser_console_state *state = scb->state; + struct ser_console_state *state = (struct ser_console_state *) scb->state; if (state == NULL) { @@ -758,7 +759,7 @@ ser_console_wait_handle (struct serial *scb, HANDLE *read, HANDLE *except) static void ser_console_done_wait_handle (struct serial *scb) { - struct ser_console_state *state = scb->state; + struct ser_console_state *state = (struct ser_console_state *) scb->state; if (state == NULL) return; @@ -769,7 +770,7 @@ ser_console_done_wait_handle (struct serial *scb) static void ser_console_close (struct serial *scb) { - struct ser_console_state *state = scb->state; + struct ser_console_state *state = (struct ser_console_state *) scb->state; if (scb->state) { @@ -854,7 +855,7 @@ free_pipe_state (struct pipe_state *ps) static void cleanup_pipe_state (void *untyped) { - struct pipe_state *ps = untyped; + struct pipe_state *ps = (struct pipe_state *) untyped; free_pipe_state (ps); } @@ -957,7 +958,7 @@ pipe_windows_fdopen (struct serial *scb, int fd) static void pipe_windows_close (struct serial *scb) { - struct pipe_state *ps = scb->state; + struct pipe_state *ps = (struct pipe_state *) scb->state; /* In theory, we should try to kill the subprocess here, but the pex interface doesn't give us enough information to do that. Usually @@ -993,7 +994,7 @@ pipe_windows_read (struct serial *scb, size_t count) static int pipe_windows_write (struct serial *scb, const void *buf, size_t count) { - struct pipe_state *ps = scb->state; + struct pipe_state *ps = (struct pipe_state *) scb->state; HANDLE pipeline_in; DWORD written; @@ -1015,7 +1016,7 @@ pipe_windows_write (struct serial *scb, const void *buf, size_t count) static void pipe_wait_handle (struct serial *scb, HANDLE *read, HANDLE *except) { - struct pipe_state *ps = scb->state; + struct pipe_state *ps = (struct pipe_state *) scb->state; /* Have we allocated our events yet? */ if (ps->wait.read_event == INVALID_HANDLE_VALUE) @@ -1036,7 +1037,7 @@ pipe_wait_handle (struct serial *scb, HANDLE *read, HANDLE *except) static void pipe_done_wait_handle (struct serial *scb) { - struct pipe_state *ps = scb->state; + struct pipe_state *ps = (struct pipe_state *) scb->state; /* Have we allocated our events yet? */ if (ps->wait.read_event == INVALID_HANDLE_VALUE) @@ -1080,7 +1081,7 @@ struct net_windows_state static int net_windows_socket_check_pending (struct serial *scb) { - struct net_windows_state *state = scb->state; + struct net_windows_state *state = (struct net_windows_state *) scb->state; unsigned long available; if (ioctlsocket (scb->fd, FIONREAD, &available) != 0) @@ -1101,11 +1102,11 @@ net_windows_socket_check_pending (struct serial *scb) static DWORD WINAPI net_windows_select_thread (void *arg) { - struct serial *scb = arg; + struct serial *scb = (struct serial *) arg; struct net_windows_state *state; int event_index; - state = scb->state; + state = (struct net_windows_state *) scb->state; while (1) { @@ -1170,7 +1171,7 @@ net_windows_select_thread (void *arg) static void net_windows_wait_handle (struct serial *scb, HANDLE *read, HANDLE *except) { - struct net_windows_state *state = scb->state; + struct net_windows_state *state = (struct net_windows_state *) scb->state; /* Start from a clean slate. */ ResetEvent (state->base.read_event); @@ -1189,7 +1190,7 @@ net_windows_wait_handle (struct serial *scb, HANDLE *read, HANDLE *except) static void net_windows_done_wait_handle (struct serial *scb) { - struct net_windows_state *state = scb->state; + struct net_windows_state *state = (struct net_windows_state *) scb->state; stop_select_thread (&state->base); } @@ -1222,7 +1223,7 @@ net_windows_open (struct serial *scb, const char *name) static void net_windows_close (struct serial *scb) { - struct net_windows_state *state = scb->state; + struct net_windows_state *state = (struct net_windows_state *) scb->state; destroy_select_thread (&state->base); CloseHandle (state->sock_event); @@ -1370,7 +1371,7 @@ _initialize_ser_windows (void) hm = LoadLibrary ("kernel32.dll"); if (hm) { - CancelIo = (void *) GetProcAddress (hm, "CancelIo"); + CancelIo = (CancelIo_ftype *) GetProcAddress (hm, "CancelIo"); FreeLibrary (hm); } else