mkolar / rpms / gdb

Forked from rpms/gdb 3 years ago
Clone
Blob Blame History Raw
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  <jan.kratochvil@redhat.com>
+
+	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  <palves@redhat.com>
 
 	* breakpoint.c (bpstat_stop_status): Moving clearing print_it
Index: gdb-7.3.50.20110722/gdb/cli/cli-cmds.c
===================================================================
--- gdb-7.3.50.20110722.orig/gdb/cli/cli-cmds.c	2012-04-18 23:38:50.000000000 +0200
+++ gdb-7.3.50.20110722/gdb/cli/cli-cmds.c	2012-04-18 23:39:52.709847704 +0200
@@ -521,8 +521,7 @@ find_and_open_script (const char *script
   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)
@@ -550,12 +549,9 @@ source_script_from_stream (FILE *stream,
 	  else
 	    {
 	      /* Nope, just punt.  */
-	      fclose (stream);
 	      throw_exception (e);
 	    }
 	}
-      else
-	fclose (stream);
     }
   else
     script_from_file (stream, file);
@@ -589,6 +585,7 @@ source_script_with_search (const char *f
     }
 
   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
Index: gdb-7.3.50.20110722/gdb/cli/cli-script.c
===================================================================
--- gdb-7.3.50.20110722.orig/gdb/cli/cli-script.c	2011-06-27 21:21:50.000000000 +0200
+++ gdb-7.3.50.20110722/gdb/cli/cli-script.c	2012-04-18 23:39:22.845918492 +0200
@@ -1600,11 +1600,9 @@ script_from_file (FILE *stream, const ch
   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 ""