From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13396 invoked by alias); 29 Dec 2006 03:48:06 -0000 Received: (qmail 13387 invoked by uid 22791); 29 Dec 2006 03:48:03 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Fri, 29 Dec 2006 03:47:57 +0000 Received: from drow by nevyn.them.org with local (Exim 4.63) (envelope-from ) id 1H08in-0007vR-MG; Thu, 28 Dec 2006 22:47:53 -0500 Date: Fri, 29 Dec 2006 03:48:00 -0000 From: Daniel Jacobowitz To: Mark Kettenis , gdb-patches@sourceware.org Subject: Re: RFC: Warning fixes Message-ID: <20061229034753.GA29749@nevyn.them.org> Mail-Followup-To: Mark Kettenis , gdb-patches@sourceware.org References: <20061228195828.GA18628@nevyn.them.org> <200612282256.kBSMu65R022410@brahms.sibelius.xs4all.nl> <20061228230925.GA23775@nevyn.them.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061228230925.GA23775@nevyn.them.org> User-Agent: Mutt/1.5.13 (2006-08-11) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-12/txt/msg00340.txt.bz2 On Thu, Dec 28, 2006 at 06:09:26PM -0500, Daniel Jacobowitz wrote: > > Some of these are really scary. Can you check for regressions on i386 Linux? > > I haven't yet, but definitely will before checking them in. Done now (with the below copy). No regressions. > The warning is a bit annoying, though. We can't portably tell whether > the type of sig will be signed or unsigned. Perhaps we should force > sig to be an int before bounds checking, instead, and I should file a > GCC bug report. How's that sound to you? Not sure about the bug report, but anyway, here's the revised patch. This looks saner. -- Daniel Jacobowitz CodeSourcery 2006-12-28 Daniel Jacobowitz * ada-lang.c (find_struct_field): Initialize *byte_offset_p. * breakpoint.c (do_enable_breakpoint): Ignore both mem_cnt and i. * c-typeprint.c (c_type_print_varspec_suffix): Don't test length greater than or equal to zero. * m2-typeprint.c (m2_array): Likewise. * p-typeprint.c (pascal_type_print_varspec_prefix): Likewise. * gdbtypes.c (copy_type_recursive): Correct == typo. * i386-tdep.c (i386_skip_prologue): Remove stray semicolon. * linux-nat.c (linux_nat_info_proc_cmd): Don't compare a pointer greater than zero. * macroscope.c (sal_macro_scope): Don't name a local variable "main". (default_macro_scope): Remove unused variable. * prologue-value.h (pv_area_find_reg): Don't name an argument "register". * remote-fileio.c (remote_fio_func_map): Add missing braces. * remote.c (sigint_remote_twice_token, sigint_remote_token): Change type. (cleanup_sigint_signal_handler): Remove casts. * valprint.c (val_print): Use a volatile local for the modified argument. * varobj.c (languages): Remove extra array dimension. (varobj_create): Correct access to languages array. * mi/mi-cmd-break.c (mi_cmd_break_insert, mi_cmd_break_watch): Add missing braces. * mi/mi-cmd-disas.c (mi_cmd_disassemble): Likewise. * mi/mi-cmd-env.c (mi_cmd_env_path, mi_cmd_env_dir): Likewise. * mi/mi-getopt.c (mi_valid_noargs): Likewise. * mi/mi-main.c (mi_cmd_data_read_memory): Likewise. (mi_cmd_data_write_memory): Likewise. * signals/signals.c (target_signal_to_string): Cast to int before comparing. * tui/tui-layout.c (init_and_make_win): Take and return a void *. Update all callers. Index: ada-lang.c =================================================================== RCS file: /cvs/src/src/gdb/ada-lang.c,v retrieving revision 1.85 diff -u -p -r1.85 ada-lang.c --- ada-lang.c 1 Dec 2006 00:32:29 -0000 1.85 +++ ada-lang.c 29 Dec 2006 03:23:44 -0000 @@ -5628,7 +5628,7 @@ find_struct_field (char *name, struct ty if (field_type_p != NULL) *field_type_p = NULL; if (byte_offset_p != NULL) - *byte_offset_p; + *byte_offset_p = 0; if (bit_offset_p != NULL) *bit_offset_p = 0; if (bit_size_p != NULL) Index: breakpoint.c =================================================================== RCS file: /cvs/src/src/gdb/breakpoint.c,v retrieving revision 1.234 diff -u -p -r1.234 breakpoint.c --- breakpoint.c 18 Dec 2006 22:10:13 -0000 1.234 +++ breakpoint.c 29 Dec 2006 03:23:44 -0000 @@ -7610,7 +7610,7 @@ is valid is not currently in scope.\n"), int mem_cnt = can_use_hardware_watchpoint (bpt->val); /* Hack around 'unused var' error for some targets here */ - (void) mem_cnt, i; + (void) mem_cnt, (void) i; target_resources_ok = TARGET_CAN_USE_HARDWARE_WATCHPOINT ( bpt->type, i + mem_cnt, other_type_used); /* we can consider of type is bp_hardware_watchpoint, convert to Index: c-typeprint.c =================================================================== RCS file: /cvs/src/src/gdb/c-typeprint.c,v retrieving revision 1.33 diff -u -p -r1.33 c-typeprint.c --- c-typeprint.c 17 Dec 2005 22:33:59 -0000 1.33 +++ c-typeprint.c 29 Dec 2006 03:23:45 -0000 @@ -537,7 +537,7 @@ c_type_print_varspec_suffix (struct type fprintf_filtered (stream, ")"); fprintf_filtered (stream, "["); - if (TYPE_LENGTH (type) >= 0 && TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0 + if (TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0 && TYPE_ARRAY_UPPER_BOUND_TYPE (type) != BOUND_CANNOT_BE_DETERMINED) fprintf_filtered (stream, "%d", (TYPE_LENGTH (type) Index: gdbtypes.c =================================================================== RCS file: /cvs/src/src/gdb/gdbtypes.c,v retrieving revision 1.108 diff -u -p -r1.108 gdbtypes.c --- gdbtypes.c 6 Dec 2006 20:15:19 -0000 1.108 +++ gdbtypes.c 29 Dec 2006 03:23:45 -0000 @@ -3284,7 +3284,7 @@ copy_type_recursive (struct objfile *obj can't, but at the moment it is not needed. */ if (TYPE_CODE (type) == TYPE_CODE_FLT) - TYPE_FLOATFORMAT (new_type) == TYPE_FLOATFORMAT (type); + TYPE_FLOATFORMAT (new_type) = TYPE_FLOATFORMAT (type); else if (TYPE_CODE (type) == TYPE_CODE_STRUCT || TYPE_CODE (type) == TYPE_CODE_UNION || TYPE_CODE (type) == TYPE_CODE_TEMPLATE Index: i386-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/i386-tdep.c,v retrieving revision 1.225 diff -u -p -r1.225 i386-tdep.c --- i386-tdep.c 8 Aug 2006 21:36:46 -0000 1.225 +++ i386-tdep.c 29 Dec 2006 03:23:45 -0000 @@ -874,7 +874,7 @@ i386_skip_prologue (CORE_ADDR start_pc) /* addl y,%ebx */ if (delta > 0 && op == 0x81 - && read_memory_unsigned_integer (pc + delta + 1, 1) == 0xc3); + && read_memory_unsigned_integer (pc + delta + 1, 1) == 0xc3) { pc += delta + 6; } Index: linux-nat.c =================================================================== RCS file: /cvs/src/src/gdb/linux-nat.c,v retrieving revision 1.51 diff -u -p -r1.51 linux-nat.c --- linux-nat.c 20 Nov 2006 21:47:06 -0000 1.51 +++ linux-nat.c 29 Dec 2006 03:23:46 -0000 @@ -2790,7 +2790,7 @@ linux_nat_info_proc_cmd (char *args, int if (cmdline_f || all) { sprintf (fname1, "/proc/%lld/cmdline", pid); - if ((procfile = fopen (fname1, "r")) > 0) + if ((procfile = fopen (fname1, "r")) != NULL) { fgets (buffer, sizeof (buffer), procfile); printf_filtered ("cmdline = '%s'\n", buffer); @@ -2820,7 +2820,7 @@ linux_nat_info_proc_cmd (char *args, int if (mappings_f || all) { sprintf (fname1, "/proc/%lld/maps", pid); - if ((procfile = fopen (fname1, "r")) > 0) + if ((procfile = fopen (fname1, "r")) != NULL) { long long addr, endaddr, size, offset, inode; char permissions[8], device[8], filename[MAXPATHLEN]; @@ -2880,7 +2880,7 @@ linux_nat_info_proc_cmd (char *args, int if (status_f || all) { sprintf (fname1, "/proc/%lld/status", pid); - if ((procfile = fopen (fname1, "r")) > 0) + if ((procfile = fopen (fname1, "r")) != NULL) { while (fgets (buffer, sizeof (buffer), procfile) != NULL) puts_filtered (buffer); @@ -2892,7 +2892,7 @@ linux_nat_info_proc_cmd (char *args, int if (stat_f || all) { sprintf (fname1, "/proc/%lld/stat", pid); - if ((procfile = fopen (fname1, "r")) > 0) + if ((procfile = fopen (fname1, "r")) != NULL) { int itmp; char ctmp; Index: m2-typeprint.c =================================================================== RCS file: /cvs/src/src/gdb/m2-typeprint.c,v retrieving revision 1.8 diff -u -p -r1.8 m2-typeprint.c --- m2-typeprint.c 27 May 2006 17:39:28 -0000 1.8 +++ m2-typeprint.c 29 Dec 2006 03:23:46 -0000 @@ -210,7 +210,7 @@ static void m2_array (struct type *type, int show, int level) { fprintf_filtered (stream, "ARRAY ["); - if (TYPE_LENGTH (type) >= 0 && TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0 + if (TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0 && TYPE_ARRAY_UPPER_BOUND_TYPE (type) != BOUND_CANNOT_BE_DETERMINED) { if (TYPE_INDEX_TYPE (type) != 0) Index: macroscope.c =================================================================== RCS file: /cvs/src/src/gdb/macroscope.c,v retrieving revision 1.9 diff -u -p -r1.9 macroscope.c --- macroscope.c 17 Dec 2005 22:34:01 -0000 1.9 +++ macroscope.c 29 Dec 2006 03:23:46 -0000 @@ -33,7 +33,7 @@ struct macro_scope * sal_macro_scope (struct symtab_and_line sal) { - struct macro_source_file *main, *inclusion; + struct macro_source_file *main_file, *inclusion; struct macro_scope *ms; if (! sal.symtab @@ -42,8 +42,8 @@ sal_macro_scope (struct symtab_and_line ms = (struct macro_scope *) xmalloc (sizeof (*ms)); - main = macro_main (sal.symtab->macro_table); - inclusion = macro_lookup_inclusion (main, sal.symtab->filename); + main_file = macro_main (sal.symtab->macro_table); + inclusion = macro_lookup_inclusion (main_file, sal.symtab->filename); if (inclusion) { @@ -66,7 +66,7 @@ sal_macro_scope (struct symtab_and_line For the time being, though, we'll just treat these as occurring at the end of the main source file. */ - ms->file = main; + ms->file = main_file; ms->line = -1; complaint (&symfile_complaints, @@ -83,7 +83,6 @@ struct macro_scope * default_macro_scope (void) { struct symtab_and_line sal; - struct macro_source_file *main; struct macro_scope *ms; /* If there's a selected frame, use its PC. */ Index: p-typeprint.c =================================================================== RCS file: /cvs/src/src/gdb/p-typeprint.c,v retrieving revision 1.15 diff -u -p -r1.15 p-typeprint.c --- p-typeprint.c 17 Dec 2005 22:34:01 -0000 1.15 +++ p-typeprint.c 29 Dec 2006 03:23:46 -0000 @@ -265,7 +265,7 @@ pascal_type_print_varspec_prefix (struct if (passed_a_ptr) fprintf_filtered (stream, "("); fprintf_filtered (stream, "array "); - if (TYPE_LENGTH (type) >= 0 && TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0 + if (TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0 && TYPE_ARRAY_UPPER_BOUND_TYPE (type) != BOUND_CANNOT_BE_DETERMINED) fprintf_filtered (stream, "[%d..%d] ", TYPE_ARRAY_LOWER_BOUND_VALUE (type), Index: prologue-value.h =================================================================== RCS file: /cvs/src/src/gdb/prologue-value.h,v retrieving revision 1.2 diff -u -p -r1.2 prologue-value.h --- prologue-value.h 28 Mar 2006 19:19:16 -0000 1.2 +++ prologue-value.h 29 Dec 2006 03:23:46 -0000 @@ -285,7 +285,7 @@ int pv_area_store_would_trash (struct pv instead, and collecting all your information in one pass. */ int pv_area_find_reg (struct pv_area *area, struct gdbarch *gdbarch, - int register, + int reg, CORE_ADDR *offset_p); Index: remote-fileio.c =================================================================== RCS file: /cvs/src/src/gdb/remote-fileio.c,v retrieving revision 1.21 diff -u -p -r1.21 remote-fileio.c --- remote-fileio.c 15 Dec 2006 23:17:56 -0000 1.21 +++ remote-fileio.c 29 Dec 2006 03:23:46 -0000 @@ -1332,19 +1332,19 @@ static struct { char *name; void (*func)(char *); } remote_fio_func_map[] = { - "open", remote_fileio_func_open, - "close", remote_fileio_func_close, - "read", remote_fileio_func_read, - "write", remote_fileio_func_write, - "lseek", remote_fileio_func_lseek, - "rename", remote_fileio_func_rename, - "unlink", remote_fileio_func_unlink, - "stat", remote_fileio_func_stat, - "fstat", remote_fileio_func_fstat, - "gettimeofday", remote_fileio_func_gettimeofday, - "isatty", remote_fileio_func_isatty, - "system", remote_fileio_func_system, - NULL, NULL + { "open", remote_fileio_func_open }, + { "close", remote_fileio_func_close }, + { "read", remote_fileio_func_read }, + { "write", remote_fileio_func_write }, + { "lseek", remote_fileio_func_lseek }, + { "rename", remote_fileio_func_rename }, + { "unlink", remote_fileio_func_unlink }, + { "stat", remote_fileio_func_stat }, + { "fstat", remote_fileio_func_fstat }, + { "gettimeofday", remote_fileio_func_gettimeofday }, + { "isatty", remote_fileio_func_isatty }, + { "system", remote_fileio_func_system }, + { NULL, NULL } }; static int Index: remote.c =================================================================== RCS file: /cvs/src/src/gdb/remote.c,v retrieving revision 1.241 diff -u -p -r1.241 remote.c --- remote.c 28 Nov 2006 22:14:31 -0000 1.241 +++ remote.c 29 Dec 2006 03:23:46 -0000 @@ -996,8 +996,8 @@ static int use_threadinfo_query; static int use_threadextra_query; /* Tokens for use by the asynchronous signal handlers for SIGINT. */ -static void *sigint_remote_twice_token; -static void *sigint_remote_token; +static struct async_signal_handler *sigint_remote_twice_token; +static struct async_signal_handler *sigint_remote_token; /* These are pointers to hook functions that may be set in order to modify resume/wait behavior for a particular architecture. */ @@ -2945,11 +2945,9 @@ cleanup_sigint_signal_handler (void *dum { signal (SIGINT, handle_sigint); if (sigint_remote_twice_token) - delete_async_signal_handler ((struct async_signal_handler **) - &sigint_remote_twice_token); + delete_async_signal_handler (&sigint_remote_twice_token); if (sigint_remote_token) - delete_async_signal_handler ((struct async_signal_handler **) - &sigint_remote_token); + delete_async_signal_handler (&sigint_remote_token); } /* Send ^C to target to halt it. Target will respond, and send us a Index: valprint.c =================================================================== RCS file: /cvs/src/src/gdb/valprint.c,v retrieving revision 1.62 diff -u -p -r1.62 valprint.c --- valprint.c 22 Aug 2006 21:36:05 -0000 1.62 +++ valprint.c 29 Dec 2006 03:23:47 -0000 @@ -207,13 +207,12 @@ val_print (struct type *type, const gdb_ int deref_ref, int recurse, enum val_prettyprint pretty) { volatile struct gdb_exception except; + volatile enum val_prettyprint real_pretty = pretty; int ret = 0; struct type *real_type = check_typedef (type); if (pretty == Val_pretty_default) - { - pretty = prettyprint_structs ? Val_prettyprint : Val_no_prettyprint; - } + real_pretty = prettyprint_structs ? Val_prettyprint : Val_no_prettyprint; QUIT; @@ -231,7 +230,7 @@ val_print (struct type *type, const gdb_ TRY_CATCH (except, RETURN_MASK_ERROR) { ret = LA_VAL_PRINT (type, valaddr, embedded_offset, address, - stream, format, deref_ref, recurse, pretty); + stream, format, deref_ref, recurse, real_pretty); } if (except.reason < 0) fprintf_filtered (stream, _("")); Index: varobj.c =================================================================== RCS file: /cvs/src/src/gdb/varobj.c,v retrieving revision 1.65 diff -u -p -r1.65 varobj.c --- varobj.c 8 Dec 2006 22:06:04 -0000 1.65 +++ varobj.c 29 Dec 2006 03:23:47 -0000 @@ -325,8 +325,7 @@ struct language_specific }; /* Array of known source language routines. */ -static struct language_specific - languages[vlang_end][sizeof (struct language_specific)] = { +static struct language_specific languages[vlang_end] = { /* Unknown (try treating as C */ { vlang_unknown, @@ -517,7 +516,7 @@ varobj_create (char *objname, /* Set language info */ lang = variable_language (var); - var->root->lang = languages[lang]; + var->root->lang = &languages[lang]; /* Set ourselves as our root */ var->root->rootvar = var; Index: mi/mi-cmd-break.c =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-cmd-break.c,v retrieving revision 1.13 diff -u -p -r1.13 mi-cmd-break.c --- mi/mi-cmd-break.c 23 Dec 2005 18:57:46 -0000 1.13 +++ mi/mi-cmd-break.c 29 Dec 2006 03:23:47 -0000 @@ -90,7 +90,7 @@ mi_cmd_break_insert (char *command, char {"c", CONDITION_OPT, 1}, {"i", IGNORE_COUNT_OPT, 1}, {"p", THREAD_OPT, 1}, - 0 + { 0, 0, 0 } }; /* Parse arguments. It could be -r or -h or -t, or ``--'' @@ -196,7 +196,7 @@ mi_cmd_break_watch (char *command, char { {"r", READ_OPT, 0}, {"a", ACCESS_OPT, 0}, - 0 + { 0, 0, 0 } }; /* Parse arguments. */ Index: mi/mi-cmd-disas.c =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-cmd-disas.c,v retrieving revision 1.22 diff -u -p -r1.22 mi-cmd-disas.c --- mi/mi-cmd-disas.c 23 Dec 2005 18:57:46 -0000 1.22 +++ mi/mi-cmd-disas.c 29 Dec 2006 03:23:47 -0000 @@ -84,7 +84,7 @@ mi_cmd_disassemble (char *command, char {"n", NUM_OPT, 1}, {"s", START_OPT, 1}, {"e", END_OPT, 1}, - 0 + { 0, 0, 0 } }; /* Get the options with their arguments. Keep track of what we Index: mi/mi-cmd-env.c =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-cmd-env.c,v retrieving revision 1.10 diff -u -p -r1.10 mi-cmd-env.c --- mi/mi-cmd-env.c 23 Dec 2005 18:57:46 -0000 1.10 +++ mi/mi-cmd-env.c 29 Dec 2006 03:23:47 -0000 @@ -126,7 +126,7 @@ mi_cmd_env_path (char *command, char **a static struct mi_opt opts[] = { {"r", RESET_OPT, 0}, - 0 + { 0, 0, 0 } }; dont_repeat (); @@ -198,7 +198,7 @@ mi_cmd_env_dir (char *command, char **ar static struct mi_opt opts[] = { {"r", RESET_OPT, 0}, - 0 + { 0, 0, 0 } }; dont_repeat (); Index: mi/mi-getopt.c =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-getopt.c,v retrieving revision 1.10 diff -u -p -r1.10 mi-getopt.c --- mi/mi-getopt.c 23 Dec 2005 18:57:46 -0000 1.10 +++ mi/mi-getopt.c 29 Dec 2006 03:23:47 -0000 @@ -82,7 +82,7 @@ mi_valid_noargs (const char *prefix, int char *optarg; static struct mi_opt opts[] = { - 0 + { 0, 0, 0 } }; if (mi_getopt (prefix, argc, argv, opts, &optind, &optarg) == -1) Index: mi/mi-main.c =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-main.c,v retrieving revision 1.86 diff -u -p -r1.86 mi-main.c --- mi/mi-main.c 17 Nov 2006 19:30:41 -0000 1.86 +++ mi/mi-main.c 29 Dec 2006 03:23:47 -0000 @@ -773,7 +773,7 @@ mi_cmd_data_read_memory (char *command, static struct mi_opt opts[] = { {"o", OFFSET_OPT, 1}, - 0 + { 0, 0, 0 } }; while (1) @@ -973,7 +973,7 @@ mi_cmd_data_write_memory (char *command, static struct mi_opt opts[] = { {"o", OFFSET_OPT, 1}, - 0 + { 0, 0, 0 } }; while (1) Index: signals/signals.c =================================================================== RCS file: /cvs/src/src/gdb/signals/signals.c,v retrieving revision 1.11 diff -u -p -r1.11 signals.c --- signals/signals.c 28 Nov 2006 19:45:07 -0000 1.11 +++ signals/signals.c 29 Dec 2006 03:23:47 -0000 @@ -1,6 +1,6 @@ /* Target signal translation functions for GDB. Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002 Free Software Foundation, Inc. + 2000, 2001, 2002, 2003, 2006 Free Software Foundation, Inc. Contributed by Cygnus Support. This file is part of GDB. @@ -219,7 +219,7 @@ static struct { char * target_signal_to_string (enum target_signal sig) { - if ((sig >= TARGET_SIGNAL_FIRST) && (sig <= TARGET_SIGNAL_LAST)) + if ((int) sig >= TARGET_SIGNAL_FIRST && (int) sig <= TARGET_SIGNAL_LAST) return signals[sig].string; else return signals[TARGET_SIGNAL_UNKNOWN].string; @@ -229,7 +229,7 @@ target_signal_to_string (enum target_sig char * target_signal_to_name (enum target_signal sig) { - if ((sig >= TARGET_SIGNAL_FIRST) && (sig <= TARGET_SIGNAL_LAST) + if ((int) sig >= TARGET_SIGNAL_FIRST && (int) sig <= TARGET_SIGNAL_LAST && signals[sig].name != NULL) return signals[sig].name; else Index: tui/tui-layout.c =================================================================== RCS file: /cvs/src/src/gdb/tui/tui-layout.c,v retrieving revision 1.22 diff -u -p -r1.22 tui-layout.c --- tui/tui-layout.c 23 Dec 2005 19:10:02 -0000 1.22 +++ tui/tui-layout.c 29 Dec 2006 03:23:47 -0000 @@ -47,7 +47,7 @@ ********************************/ static void show_layout (enum tui_layout_type); static void init_gen_win_info (struct tui_gen_win_info *, enum tui_win_type, int, int, int, int); -static void init_and_make_win (void **, enum tui_win_type, int, int, int, int, int); +static void *init_and_make_win (void *, enum tui_win_type, int, int, int, int, int); static void show_source_or_disasm_and_command (enum tui_layout_type); static void make_source_or_disasm_window (struct tui_win_info * *, enum tui_win_type, int, int); static void make_command_window (struct tui_win_info * *, int, int); @@ -640,13 +640,13 @@ prev_layout (void) static void make_command_window (struct tui_win_info * * win_info_ptr, int height, int origin_y) { - init_and_make_win ((void **) win_info_ptr, - CMD_WIN, - height, - tui_term_width (), - 0, - origin_y, - DONT_BOX_WINDOW); + *win_info_ptr = init_and_make_win (*win_info_ptr, + CMD_WIN, + height, + tui_term_width (), + 0, + origin_y, + DONT_BOX_WINDOW); (*win_info_ptr)->can_highlight = FALSE; } @@ -679,13 +679,13 @@ make_disasm_window (struct tui_win_info static void make_data_window (struct tui_win_info * * win_info_ptr, int height, int origin_y) { - init_and_make_win ((void **) win_info_ptr, - DATA_WIN, - height, - tui_term_width (), - 0, - origin_y, - BOX_WINDOW); + *win_info_ptr = init_and_make_win (*win_info_ptr, + DATA_WIN, + height, + tui_term_width (), + 0, + origin_y, + BOX_WINDOW); } @@ -751,13 +751,13 @@ show_source_disasm_command (void) if (TUI_DISASM_WIN == NULL) { make_disasm_window (&TUI_DISASM_WIN, asm_height, src_height - 1); - init_and_make_win ((void **) & locator, - LOCATOR_WIN, - 2 /* 1 */ , - tui_term_width (), - 0, - (src_height + asm_height) - 1, - DONT_BOX_WINDOW); + locator = init_and_make_win (locator, + LOCATOR_WIN, + 2 /* 1 */ , + tui_term_width (), + 0, + (src_height + asm_height) - 1, + DONT_BOX_WINDOW); } else { @@ -844,13 +844,13 @@ show_data (enum tui_layout_type new_layo make_source_window (&tui_win_list[win_type], src_height, data_height - 1); else make_disasm_window (&tui_win_list[win_type], src_height, data_height - 1); - init_and_make_win ((void **) & locator, - LOCATOR_WIN, - 2 /* 1 */ , - tui_term_width (), - 0, - total_height - 1, - DONT_BOX_WINDOW); + locator = init_and_make_win (locator, + LOCATOR_WIN, + 2 /* 1 */ , + tui_term_width (), + 0, + total_height - 1, + DONT_BOX_WINDOW); } else { @@ -911,11 +911,11 @@ init_gen_win_info (struct tui_gen_win_in /* ** init_and_make_win(). */ -static void -init_and_make_win (void ** win_info_ptr, enum tui_win_type win_type, - int height, int width, int origin_x, int origin_y, int box_it) +static void * +init_and_make_win (void *opaque_win_info, enum tui_win_type win_type, + int height, int width, int origin_x, int origin_y, + int box_it) { - void *opaque_win_info = *win_info_ptr; struct tui_gen_win_info * generic; if (opaque_win_info == NULL) @@ -942,7 +942,7 @@ init_and_make_win (void ** win_info_ptr, } tui_make_window (generic, box_it); } - *win_info_ptr = opaque_win_info; + return opaque_win_info; } @@ -959,23 +959,23 @@ make_source_or_disasm_window (struct tui execution_info = tui_source_exec_info_win_ptr (); else execution_info = tui_disassem_exec_info_win_ptr (); - init_and_make_win ((void **) & execution_info, - EXEC_INFO_WIN, - height, - 3, - 0, - origin_y, - DONT_BOX_WINDOW); + execution_info = init_and_make_win (execution_info, + EXEC_INFO_WIN, + height, + 3, + 0, + origin_y, + DONT_BOX_WINDOW); /* ** Now create the source window. */ - init_and_make_win ((void **) win_info_ptr, - type, - height, - tui_term_width () - execution_info->width, - execution_info->width, - origin_y, - BOX_WINDOW); + *win_info_ptr = init_and_make_win (*win_info_ptr, + type, + height, + tui_term_width () - execution_info->width, + execution_info->width, + origin_y, + BOX_WINDOW); (*win_info_ptr)->detail.source_info.execution_info = execution_info; } @@ -1009,13 +1009,13 @@ show_source_or_disasm_and_command (enum make_source_window (win_info_ptr, src_height - 1, 0); else make_disasm_window (win_info_ptr, src_height - 1, 0); - init_and_make_win ((void **) & locator, - LOCATOR_WIN, - 2 /* 1 */ , - tui_term_width (), - 0, - src_height - 1, - DONT_BOX_WINDOW); + locator = init_and_make_win (locator, + LOCATOR_WIN, + 2 /* 1 */ , + tui_term_width (), + 0, + src_height - 1, + DONT_BOX_WINDOW); } else {