gdb: New function to open source file and compute line charpos data
[deliverable/binutils-gdb.git] / gdb / source-cache.c
index d2fb4b81b7171a1e68e9aae4349c4e544420939d..2d5b549d97171014ea3c99fae5f438da45f92f14 100644 (file)
@@ -49,13 +49,10 @@ bool
 source_cache::get_plain_source_lines (struct symtab *s, int first_line,
                                      int last_line, std::string *lines)
 {
-  scoped_fd desc (open_source_file (s));
+  scoped_fd desc (open_source_file_with_line_charpos (s));
   if (desc.get () < 0)
     return false;
 
-  if (s->line_charpos == 0)
-    find_source_lines (s, desc.get ());
-
   if (first_line < 1 || first_line > s->nlines || last_line < 1)
     return false;
 
@@ -202,10 +199,9 @@ source_cache::get_source_lines (struct symtab *s, int first_line,
            {
              if (s->line_charpos == 0)
                {
-                 scoped_fd desc = open_source_file (s);
+                 scoped_fd desc (open_source_file_with_line_charpos (s));
                  if (desc.get () < 0)
                    return false;
-                 find_source_lines (s, desc.get ());
 
                  /* FULLNAME points to a value owned by the symtab
                     (symtab::fullname).  Calling open_source_file reallocates
This page took 0.024147 seconds and 4 git commands to generate.