aboutsummaryrefslogtreecommitdiff
path: root/gdb/utils.c
diff options
context:
space:
mode:
authorPaul Pluzhnikov <ppluzhnikov@google.com>2008-10-03 16:36:10 +0000
committerPaul Pluzhnikov <ppluzhnikov@google.com>2008-10-03 16:36:10 +0000
commitd1a41061438a7f29a40c7bb91435111a1b61b641 (patch)
treeb378ea01b25b77f209a65dc3fc48db30b50f38f9 /gdb/utils.c
parent388853f746bee8a011fc076e798a7fd770f67fbe (diff)
downloadfsf-binutils-gdb-d1a41061438a7f29a40c7bb91435111a1b61b641.zip
fsf-binutils-gdb-d1a41061438a7f29a40c7bb91435111a1b61b641.tar.gz
fsf-binutils-gdb-d1a41061438a7f29a40c7bb91435111a1b61b641.tar.bz2
2008-10-03 Paul Pluzhnikov <ppluzhnikov@google.com>
* utils.c, defs.h (gdb_buildargv): New fn. Wrap buildargv and check for out-of-memory condition. * exec.c (exec_file_command): Call it. * infrun.c (handle_command, xdb_handle_command): Likewise. * interps.c (interpreter_exec_cmd): Likewise. * linux-nat.c (linux_nat_info_proc_cmd): Likewise. * procfs.c (info_proc_cmd): Likewise. * remote-mips.c (common_open): Likewise. * remote-sim.c (gdbsim_kill, gdbsim_create_inferior) (gdbsim_open): Likewise. * remote.c (extended_remote_run, remote_put_command) (remote_get_command, remote_delete_command): Likewise. * ser-mingw.c (pipe_windows_open): Likesise. * source.c (add_path, show_substitute_path_command) (unset_substitute_path_command, set_substitute_path_command): Likewise. * stack.c (backtrace_command): Likewise. * symfile.c (symbol_file_command, generic_load) (add_symbol_file_command): Likesise. * symmisc.c (maintenance_print_symbols, maintenance_print_psymbols) (maintenance_print_msymbols): Likewise.
Diffstat (limited to 'gdb/utils.c')
-rw-r--r--gdb/utils.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/utils.c b/gdb/utils.c
index ce05909..3d35390 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -3349,3 +3349,17 @@ ldirname (const char *filename)
dirname[base - filename] = '\0';
return dirname;
}
+
+/* Call libiberty's buildargv, and return the result.
+ If buildargv fails due to out-of-memory, call nomem.
+ Therefore, the returned value is guaranteed to be non-NULL,
+ unless the parameter itself is NULL. */
+
+char **
+gdb_buildargv (const char *s)
+{
+ char **argv = buildargv (s);
+ if (s != NULL && argv == NULL)
+ nomem (0);
+ return argv;
+}