summaryrefslogtreecommitdiff
path: root/gdb/source.h
diff options
context:
space:
mode:
authorPedro Alves <pedro@codesourcery.com>2012-03-01 21:09:15 +0000
committerPedro Alves <pedro@codesourcery.com>2012-03-01 21:09:15 +0000
commit765c912d797aa17e50b7abfb79ffabe61cf6df76 (patch)
tree8457e4336dc87508ad3cc26be2e98aa201bee37b /gdb/source.h
parentd6c3151ae2205ef1736c6a551343001ba9a4cd53 (diff)
downloadgdb-765c912d797aa17e50b7abfb79ffabe61cf6df76.tar.gz
2012-03-01 Pedro Alves <palves@redhat.com>
* psymtab.c (find_and_open_source): Delete declaration. * source.c (find_and_open_source): Move comment ... * source.h (find_and_open_source): ... to this new declaration.
Diffstat (limited to 'gdb/source.h')
-rw-r--r--gdb/source.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/gdb/source.h b/gdb/source.h
index 3ee8e532bb5..bf9a6889030 100644
--- a/gdb/source.h
+++ b/gdb/source.h
@@ -21,6 +21,29 @@
struct symtab;
+/* This function is capable of finding the absolute path to a
+ source file, and opening it, provided you give it a FILENAME. Both the
+ DIRNAME and FULLNAME are only added suggestions on where to find the file.
+
+ FILENAME should be the filename to open.
+ 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. */
+extern int find_and_open_source (const char *filename,
+ const char *dirname,
+ char **fullname);
+
/* Open a source file given a symtab S. Returns a file descriptor or
negative number for error. */
extern int open_source_file (struct symtab *s);