http://sourceware.org/ml/gdb-cvs/2012-01/msg00202.html ### src/gdb/ChangeLog 2012/01/24 19:12:31 1.13771 ### src/gdb/ChangeLog 2012/01/24 20:56:33 1.13772 ## -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 --- src/gdb/cli/cli-cmds.c 2012/01/23 16:37:03 1.123 +++ src/gdb/cli/cli-cmds.c 2012/01/24 20:56:33 1.124 @@ -527,8 +527,7 @@ 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 @@ else { /* Nope, just punt. */ - fclose (stream); throw_exception (e); } } - else - fclose (stream); } else script_from_file (stream, file); @@ -595,6 +591,7 @@ } 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 --- src/gdb/cli/cli-script.c 2012/01/04 08:17:17 1.73 +++ src/gdb/cli/cli-script.c 2012/01/24 20:56:33 1.74 @@ -1614,11 +1614,9 @@ 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 ""