From: Jan Kratochvil Date: Tue, 24 Jan 2012 20:56:33 +0000 (+0000) Subject: gdb/ X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=86eb7e951a825be0c81726558621161edf6858e9;p=binutils-gdb.git gdb/ Code cleanup. * cli/cli-cmds.c (source_script_from_stream): Never fclose STREAM. Update the function comment for it. (source_script_with_search): Call make_cleanup_fclose for STREAM. * cli/cli-script.c (script_from_file): Do not call make_cleanup_fclose for STREAM. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7cd2ce282f6..e043046ce51 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2012-01-24 Jan Kratochvil + + Code cleanup. + * cli/cli-cmds.c (source_script_from_stream): Never fclose STREAM. + Update the function comment for it. + (source_script_with_search): Call make_cleanup_fclose for STREAM. + * cli/cli-script.c (script_from_file): Do not call make_cleanup_fclose + for STREAM. + 2012-01-24 Pedro Alves * breakpoint.c (bpstat_stop_status): Moving clearing print_it diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c index 91421aa067b..15b6b792c30 100644 --- a/gdb/cli/cli-cmds.c +++ b/gdb/cli/cli-cmds.c @@ -527,8 +527,7 @@ find_and_open_script (const char *script_file, int search_path, return 1; } -/* Load script FILE, which has already been opened as STREAM. - STREAM is closed before we return. */ +/* Load script FILE, which has already been opened as STREAM. */ static void source_script_from_stream (FILE *stream, const char *file) @@ -556,12 +555,9 @@ source_script_from_stream (FILE *stream, const char *file) else { /* Nope, just punt. */ - fclose (stream); throw_exception (e); } } - else - fclose (stream); } else script_from_file (stream, file); @@ -595,6 +591,7 @@ source_script_with_search (const char *file, int from_tty, int search_path) } old_cleanups = make_cleanup (xfree, full_path); + make_cleanup_fclose (stream); /* The python support reopens the file, so we need to pass full_path here in case the file was found on the search path. It's useful to do this anyway so that error messages show the actual file used. But only do diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c index c8da8c83e14..cfa1c771c50 100644 --- a/gdb/cli/cli-script.c +++ b/gdb/cli/cli-script.c @@ -1614,11 +1614,9 @@ script_from_file (FILE *stream, const char *file) if (stream == NULL) internal_error (__FILE__, __LINE__, _("called with NULL file pointer!")); - old_cleanups = make_cleanup_fclose (stream); - old_lines.old_line = source_line_number; old_lines.old_file = source_file_name; - make_cleanup (source_cleanup_lines, &old_lines); + old_cleanups = make_cleanup (source_cleanup_lines, &old_lines); source_line_number = 0; source_file_name = file; /* This will get set every time we read a line. So it won't stay ""