diff options
Diffstat (limited to 'gdb/tui')
-rw-r--r-- | gdb/tui/tui-data.c | 39 |
1 files changed, 14 insertions, 25 deletions
diff --git a/gdb/tui/tui-data.c b/gdb/tui/tui-data.c index 4966c5b..a729978 100644 --- a/gdb/tui/tui-data.c +++ b/gdb/tui/tui-data.c @@ -573,36 +573,25 @@ tui_win_content tui_alloc_content (int num_elements, enum tui_win_type type) { tui_win_content content; - char *element_block_ptr; + struct tui_win_element *element_block_ptr; int i; content = XNEWVEC (struct tui_win_element *, num_elements); - if (content != NULL) + + /* + * All windows, except the data window, can allocate the + * elements in a chunk. The data window cannot because items + * can be added/removed from the data display by the user at any + * time. + */ + if (type != DATA_WIN) { - /* - * All windows, except the data window, can allocate the - * elements in a chunk. The data window cannot because items - * can be added/removed from the data display by the user at any - * time. - */ - if (type != DATA_WIN) + element_block_ptr = XNEWVEC (struct tui_win_element, num_elements); + for (i = 0; i < num_elements; i++) { - element_block_ptr = - xmalloc (sizeof (struct tui_win_element) * num_elements); - if (element_block_ptr != NULL) - { - for (i = 0; i < num_elements; i++) - { - content[i] = (struct tui_win_element *) element_block_ptr; - init_content_element (content[i], type); - element_block_ptr += sizeof (struct tui_win_element); - } - } - else - { - xfree (content); - content = (tui_win_content) NULL; - } + content[i] = element_block_ptr; + init_content_element (content[i], type); + element_block_ptr++; } } |