blob: 5f6a29cffa0323d59771bf5e9770b10f3fa71da4 [file] [log] [blame]
.TH SRC 1
.SH NAME
src \- find source code for executable
.SH SYNOPSIS
.B src
[
.B -n
]
[
.B -s
.I symbol
]
.I file
.B ...
.SH DESCRIPTION
.I Src
examines the named
.I files
to find the corresponding source code, which is then sent to the editor using
.B B
(see
.IR sam (1)).
If
.I file
is an
.IR rc (1)
script, the source is the file itself.
If
.I file
is an executable, the source is defined to be the single file containing the
definition of
.B main
and
.I src
will point the editor at the line that begins the definition.
.I Src
uses
.IR db (1)
to extract the symbol table information that identifies the source.
.PP
.I Src
looks for each
.I file
in the current directory, in
.BR /bin ,
and in the subdirectories of
.BR /bin ,
in that order.
.PP
The
.B -n
flag causes
.B src
to print the file name but not send it to the editor.
The
.B -s
flag identifies a
.I symbol
other than
.B main
to locate.
.SH EXAMPLES
Find the source to the
.B main
routine in
.BR /bin/ed :
.IP
.EX
src ed
.EE
.PP
Find the source for
.BR strcmp :
.IP
.EX
src -s strcmp rc
.EE
.SH SOURCE
.B \*9/bin/src
.SH "SEE ALSO"
.IR db (1),
.IR plumb (1),
.IR sam (1).