aboutsummaryrefslogtreecommitdiff
path: root/gdb/python
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2010-04-15 17:45:57 +0000
committerDoug Evans <dje@google.com>2010-04-15 17:45:57 +0000
commit3f7b2faa4bb3f35f6c88687b6943cdbe6003b615 (patch)
tree8bf0af678389bf6da72d8bc3def978e10ca77485 /gdb/python
parent75375b3e00c282a6461d1a3df83582f624b18377 (diff)
downloadgdb-3f7b2faa4bb3f35f6c88687b6943cdbe6003b615.zip
gdb-3f7b2faa4bb3f35f6c88687b6943cdbe6003b615.tar.gz
gdb-3f7b2faa4bb3f35f6c88687b6943cdbe6003b615.tar.bz2
Add -s option to source command.
* NEWS: Document new option. * cli/cli-cmds.c (find_and_open_script): Add function comment. Delete from_tty and cleanupp args. Split filep arg into file and full_pathp. New arg search_path. (source_script_from_stream): New function. (source_script_with_search): New function. (source_script): Rewrite. (source_command): Parse "-s" option. (init_cli_cmds): Add "-s" docs to source command help, and reformat. * python/python.c (source_python_script): Make file arg a const char *. Don't call fclose, leave for caller. * python/python.h (source_python_script): Update. testsuite/ * gdb.base/source-test.gdb: New file. * gdb.base/source.exp: Add tests for "source -s". doc/ * gdb.texinfo (Command Files): Add docs for new "source -s" option.
Diffstat (limited to 'gdb/python')
-rw-r--r--gdb/python/python.c9
-rw-r--r--gdb/python/python.h2
2 files changed, 5 insertions, 6 deletions
diff --git a/gdb/python/python.c b/gdb/python/python.c
index 41a9443..b21ea99 100644
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -364,10 +364,11 @@ gdbpy_parse_and_eval (PyObject *self, PyObject *args)
}
/* Read a file as Python code. STREAM is the input file; FILE is the
- name of the file. */
+ name of the file.
+ STREAM is not closed, that is the caller's responsibility. */
void
-source_python_script (FILE *stream, char *file)
+source_python_script (FILE *stream, const char *file)
{
struct cleanup *cleanup;
@@ -375,7 +376,6 @@ source_python_script (FILE *stream, char *file)
PyRun_SimpleFile (stream, file);
- fclose (stream);
do_cleanups (cleanup);
}
@@ -562,9 +562,8 @@ eval_python_from_control_command (struct command_line *cmd)
}
void
-source_python_script (FILE *stream, char *file)
+source_python_script (FILE *stream, const char *file)
{
- fclose (stream);
throw_error (UNSUPPORTED_ERROR,
_("Python scripting is not supported in this copy of GDB."));
}
diff --git a/gdb/python/python.h b/gdb/python/python.h
index 5d93f67..b2a9631 100644
--- a/gdb/python/python.h
+++ b/gdb/python/python.h
@@ -24,7 +24,7 @@
void eval_python_from_control_command (struct command_line *);
-void source_python_script (FILE *stream, char *file);
+void source_python_script (FILE *stream, const char *file);
int apply_val_pretty_printer (struct type *type, const gdb_byte *valaddr,
int embedded_offset, CORE_ADDR address,