diff options
author | Yao Qi <yao.qi@linaro.org> | 2017-01-26 14:29:19 +0000 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2017-01-26 14:29:19 +0000 |
commit | 80d758749a7a679288e6e72b2e849b814413b719 (patch) | |
tree | 016ba1a6b78e1496d0983dad8ae9a8b9042edfee /gdb/utils.c | |
parent | 8e87a59348adb7e4c31c8f4faf86df8b17ffb54a (diff) | |
download | gdb-80d758749a7a679288e6e72b2e849b814413b719.zip gdb-80d758749a7a679288e6e72b2e849b814413b719.tar.gz gdb-80d758749a7a679288e6e72b2e849b814413b719.tar.bz2 |
New function null_stream
This patch adds a new function null_stream, which returns a null
stream. The null stream can be used in multiple places. It is
used in gdb_insn_length, and the following patches will use it too.
gdb:
2017-01-26 Yao Qi <yao.qi@linaro.org>
* disasm.c (do_ui_file_delete): Delete.
(gdb_insn_length): Move code creating stream to ...
* utils.c (null_stream): ... here. New function.
* utils.h (null_stream): Declare.
Diffstat (limited to 'gdb/utils.c')
-rw-r--r-- | gdb/utils.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gdb/utils.c b/gdb/utils.c index f142ffe..ab87143 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -199,6 +199,21 @@ make_cleanup_ui_file_delete (struct ui_file *arg) return make_cleanup (do_ui_file_delete, arg); } +struct ui_file * +null_stream (void) +{ + /* A simple implementation of singleton pattern. */ + static struct ui_file *stream = NULL; + + if (stream == NULL) + { + stream = ui_file_new (); + /* Delete it on gdb exit. */ + make_final_cleanup (do_ui_file_delete, stream); + } + return stream; +} + /* Helper function for make_cleanup_ui_out_redirect_pop. */ static void |