OSDN Git Service

* source.c (find_and_open_source): Add some comments clarifying
authordevans <devans>
Thu, 17 Apr 2008 17:43:57 +0000 (17:43 +0000)
committerdevans <devans>
Thu, 17 Apr 2008 17:43:57 +0000 (17:43 +0000)
handling of FULLNAME argument. Make static.  Remove pointless
xstrdup/xfree.

gdb/ChangeLog
gdb/source.c

index 86a4cbe..28d7ae5 100644 (file)
@@ -1,3 +1,9 @@
+2008-04-17  Doug Evans  <dje@google.com>
+
+       * source.c (find_and_open_source): Add some comments clarifying
+       handling of FULLNAME argument.  Make static.  Remove pointless
+       xstrdup/xfree.
+
 2008-04-17  Pedro Alves  <pedro@codesourcery.com>
 
        * inf-loop.c (inferior_event_handler): Also run the intermediate
index 2c69547..ceca38b 100644 (file)
@@ -927,15 +927,19 @@ rewrite_source_path (const char *path)
    DIRNAME is the compilation directory of a particular source file.
            Only some debug formats provide this info.
    FULLNAME can be the last known absolute path to the file in question.
+     Space for the path must have been malloc'd.  If a path substitution
+     is applied we free the old value and set a new one.
 
    On Success 
      A valid file descriptor is returned. ( the return value is positive )
      FULLNAME is set to the absolute path to the file just opened.
+     The caller is responsible for freeing FULLNAME.
 
    On Failure
      An invalid file descriptor is returned. ( the return value is negative ) 
      FULLNAME is set to NULL.  */
-int
+
+static int
 find_and_open_source (struct objfile *objfile,
                      const char *filename,
                      const char *dirname,
@@ -1022,13 +1026,6 @@ find_and_open_source (struct objfile *objfile,
        result = openp (path, OPF_SEARCH_IN_PATH, p, OPEN_MODE, 0, fullname);
     }
 
-  if (result >= 0)
-    {
-      char *tmp_fullname;
-      tmp_fullname = *fullname;
-      *fullname = xstrdup (tmp_fullname);
-      xfree (tmp_fullname);
-    }
   return result;
 }