diff options
author | John Baldwin <jhb@FreeBSD.org> | 2018-12-13 11:36:42 -0800 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2018-12-13 11:36:42 -0800 |
commit | 4794efbfdc4b1497c1f47397b2a2c43382e3de78 (patch) | |
tree | 1747426f8724a8f0d3bf3c000f6906c9242df1c3 /gdb/break-catch-syscall.c | |
parent | b7c8601a7f2874de1bbe0dc38ef86ea053593ad8 (diff) | |
download | gdb-4794efbfdc4b1497c1f47397b2a2c43382e3de78.zip gdb-4794efbfdc4b1497c1f47397b2a2c43382e3de78.tar.gz gdb-4794efbfdc4b1497c1f47397b2a2c43382e3de78.tar.bz2 |
Change get_syscalls_by_group to append to an existing vector of integers.
This removes the need for the caller to explicitly manage the memory
for the returned system call list. The sole caller only needed the
system call numbers rather than the full syscall structures.
get_syscalls_by_group now uses a boolean return value to indicate if
the requested group exists.
gdb/ChangeLog:
* break-catch-syscall.c (catch_syscall_split_args): Pass 'result'
to get_syscalls_by_group.
* xml-syscall.c [!HAVE_LIBEXPAT] (get_syscalls_by_group): Return
false.
[HAVE_LIBEXPAT] (xml_list_syscalls_by_group): Append syscall
numbers to an existing vector of integers and return a bool.
(get_syscalls_by_group): Accept pointer to vector of integers
and change return type to bool.
* xml-syscall.h (get_syscalls_by_group): Likewise.
Diffstat (limited to 'gdb/break-catch-syscall.c')
-rw-r--r-- | gdb/break-catch-syscall.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/gdb/break-catch-syscall.c b/gdb/break-catch-syscall.c index 93ef74c..bad34d6 100644 --- a/gdb/break-catch-syscall.c +++ b/gdb/break-catch-syscall.c @@ -409,25 +409,13 @@ catch_syscall_split_args (const char *arg) { /* We have a syscall group. Let's expand it into a syscall list before inserting. */ - struct syscall *syscall_list; const char *group_name; /* Skip over "g:" and "group:" prefix strings. */ group_name = strchr (cur_name, ':') + 1; - syscall_list = get_syscalls_by_group (gdbarch, group_name); - - if (syscall_list == NULL) + if (!get_syscalls_by_group (gdbarch, group_name, &result)) error (_("Unknown syscall group '%s'."), group_name); - - for (i = 0; syscall_list[i].name != NULL; i++) - { - /* Insert each syscall that are part of the group. No - need to check if it is valid. */ - result.push_back (syscall_list[i].number); - } - - xfree (syscall_list); } else { |