aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@ericsson.com>2015-10-26 12:58:32 -0400
committerSimon Marchi <simon.marchi@ericsson.com>2015-10-26 12:58:32 -0400
commit7acd011bef4e461e9caef644f20379f41ddfd631 (patch)
tree881bf5a1e3c84a7116fc625aaa9f812d57441095
parenta6af384b19c63bab4a1803c09592c5b5bd8674c2 (diff)
downloadgdb-7acd011bef4e461e9caef644f20379f41ddfd631.zip
gdb-7acd011bef4e461e9caef644f20379f41ddfd631.tar.gz
gdb-7acd011bef4e461e9caef644f20379f41ddfd631.tar.bz2
tui: Simplify tui_alloc_content
I stumbled upon this while doing some cxx-conversion work. Since the x-family alloc functions throw on failure, it is useless to test their result for failure. The else branch of != NULL is basically dead code. I changed the type of element_block_ptr to struct tui_win_element, which seems obvious (this is actually what raised the flag, casting the result of xmalloc to struct tui_win_element* wouldn't work). gdb/ChangeLog: * tui/tui-data.c (tui_alloc_content): Don't check xmalloc result. Change type of element_block_ptr. Change allocation to use XNEWVEC.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/tui/tui-data.c39
2 files changed, 20 insertions, 25 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f653a3d..5042001 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2015-10-26 Simon Marchi <simon.marchi@ericsson.com>
+
+ * tui/tui-data.c (tui_alloc_content): Don't check xmalloc
+ result. Change type of element_block_ptr. Change allocation to
+ use XNEWVEC.
+
2015-10-26 Luis Machado <lgustavo@codesourcery.com>
* record-full.c (record_full_message_wrapper_safe): Pass empty string to
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++;
}
}