aboutsummaryrefslogtreecommitdiff
path: root/gdb/source.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/source.c')
-rw-r--r--gdb/source.c545
1 files changed, 283 insertions, 262 deletions
diff --git a/gdb/source.c b/gdb/source.c
index ae5a9d0..ca1ddda 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -2,21 +2,22 @@
Copyright 1986, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97, 1998
Free Software Foundation, Inc.
-This file is part of GDB.
+ This file is part of GDB.
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
#include "defs.h"
#include "symtab.h"
@@ -66,7 +67,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
int open_source_file PARAMS ((struct symtab *));
void find_source_lines PARAMS ((struct symtab *, int));
-
+
/* Prototypes for exported functions. */
void _initialize_source PARAMS ((void));
@@ -124,8 +125,8 @@ static int first_line_listed;
static struct symtab *last_source_visited = NULL;
static int last_source_error = 0;
-
+
/* Set the source file default for the "list" command to be S.
If S is NULL, and we don't have a default, find one. This
@@ -143,7 +144,7 @@ select_source_symtab (s)
struct partial_symtab *ps;
struct partial_symtab *cs_pst = 0;
struct objfile *ofp;
-
+
if (s)
{
current_source_symtab = s;
@@ -164,20 +165,20 @@ select_source_symtab (s)
current_source_symtab = sal.symtab;
current_source_line = max (sal.line - (lines_to_list - 1), 1);
if (current_source_symtab)
- return;
+ return;
}
-
+
/* All right; find the last file in the symtab list (ignoring .h's). */
current_source_line = 1;
- for (ofp = object_files; ofp != NULL; ofp = ofp -> next)
+ for (ofp = object_files; ofp != NULL; ofp = ofp->next)
{
- for (s = ofp -> symtabs; s; s = s->next)
+ for (s = ofp->symtabs; s; s = s->next)
{
- char *name = s -> filename;
+ char *name = s->filename;
int len = strlen (name);
- if (! (len > 2 && (STREQ (&name[len - 2], ".h"))))
+ if (!(len > 2 && (STREQ (&name[len - 2], ".h"))))
{
current_source_symtab = s;
}
@@ -188,13 +189,13 @@ select_source_symtab (s)
/* Howabout the partial symbol tables? */
- for (ofp = object_files; ofp != NULL; ofp = ofp -> next)
+ for (ofp = object_files; ofp != NULL; ofp = ofp->next)
{
- for (ps = ofp -> psymtabs; ps != NULL; ps = ps -> next)
+ for (ps = ofp->psymtabs; ps != NULL; ps = ps->next)
{
- char *name = ps -> filename;
+ char *name = ps->filename;
int len = strlen (name);
- if (! (len > 2 && (STREQ (&name[len - 2], ".h"))))
+ if (!(len > 2 && (STREQ (&name[len - 2], ".h"))))
{
cs_pst = ps;
}
@@ -202,7 +203,7 @@ select_source_symtab (s)
}
if (cs_pst)
{
- if (cs_pst -> readin)
+ if (cs_pst->readin)
{
fatal ("Internal: select_source_symtab: readin pst found and no symtabs.");
}
@@ -237,19 +238,19 @@ forget_cached_source_info ()
register struct symtab *s;
register struct objfile *objfile;
- for (objfile = object_files; objfile != NULL; objfile = objfile -> next)
+ for (objfile = object_files; objfile != NULL; objfile = objfile->next)
{
- for (s = objfile -> symtabs; s != NULL; s = s -> next)
+ for (s = objfile->symtabs; s != NULL; s = s->next)
{
- if (s -> line_charpos != NULL)
+ if (s->line_charpos != NULL)
{
- mfree (objfile -> md, s -> line_charpos);
- s -> line_charpos = NULL;
+ mfree (objfile->md, s->line_charpos);
+ s->line_charpos = NULL;
}
- if (s -> fullname != NULL)
+ if (s->fullname != NULL)
{
- mfree (objfile -> md, s -> fullname);
- s -> fullname = NULL;
+ mfree (objfile->md, s->fullname);
+ s->fullname = NULL;
}
}
}
@@ -266,7 +267,7 @@ init_source_path ()
}
/* Add zero or more directories to the front of the source path. */
-
+
void
directory_command (dirname, from_tty)
char *dirname;
@@ -288,7 +289,7 @@ directory_command (dirname, from_tty)
last_source_visited = NULL;
}
if (from_tty)
- show_directories ((char *)0, from_tty);
+ show_directories ((char *) 0, from_tty);
forget_cached_source_info ();
}
@@ -319,7 +320,7 @@ mod_path (dirname, which_path)
char *space = strchr (name, ' ');
char *tab = strchr (name, '\t');
- if (separator == 0 && space == 0 && tab == 0)
+ if (separator == 0 && space == 0 && tab == 0)
p = dirname = name + strlen (name);
else
{
@@ -338,7 +339,7 @@ mod_path (dirname, which_path)
}
}
-#ifndef _WIN32
+#ifndef _WIN32
/* On win32 h:\ is different to h: */
if (SLASH_P (p[-1]))
/* Sigh. "foo/" => "foo" */
@@ -376,32 +377,33 @@ mod_path (dirname, which_path)
if (name[0] == '~')
name = tilde_expand (name);
- else if (!ROOTED_P (name) && name[0] != '$')
- name = concat (current_directory, SLASH_STRING, name, NULL);
+ else if (!ROOTED_P (name) && name[0] != '$')
+ name = concat (current_directory, SLASH_STRING, name, NULL);
else
name = savestring (name, p - name);
make_cleanup (free, name);
/* Unless it's a variable, check existence. */
- if (name[0] != '$') {
- /* These are warnings, not errors, since we don't want a
- non-existent directory in a .gdbinit file to stop processing
- of the .gdbinit file.
-
- Whether they get added to the path is more debatable. Current
- answer is yes, in case the user wants to go make the directory
- or whatever. If the directory continues to not exist/not be
- a directory/etc, then having them in the path should be
- harmless. */
- if (stat (name, &st) < 0)
- {
- int save_errno = errno;
- fprintf_unfiltered (gdb_stderr, "Warning: ");
- print_sys_errmsg (name, save_errno);
- }
- else if ((st.st_mode & S_IFMT) != S_IFDIR)
- warning ("%s is not a directory.", name);
- }
+ if (name[0] != '$')
+ {
+ /* These are warnings, not errors, since we don't want a
+ non-existent directory in a .gdbinit file to stop processing
+ of the .gdbinit file.
+
+ Whether they get added to the path is more debatable. Current
+ answer is yes, in case the user wants to go make the directory
+ or whatever. If the directory continues to not exist/not be
+ a directory/etc, then having them in the path should be
+ harmless. */
+ if (stat (name, &st) < 0)
+ {
+ int save_errno = errno;
+ fprintf_unfiltered (gdb_stderr, "Warning: ");
+ print_sys_errmsg (name, save_errno);
+ }
+ else if ((st.st_mode & S_IFMT) != S_IFDIR)
+ warning ("%s is not a directory.", name);
+ }
append:
{
@@ -415,10 +417,10 @@ mod_path (dirname, which_path)
{
/* Found it in the search path, remove old copy */
if (p > *which_path)
- p--; /* Back over leading separator */
+ p--; /* Back over leading separator */
if (prefix > p - *which_path)
goto skip_dup; /* Same dir twice in one cmd */
- strcpy (p, &p[len+1]); /* Copy from next \0 or : */
+ strcpy (p, &p[len + 1]); /* Copy from next \0 or : */
}
p = strchr (p, DIRNAME_SEPARATOR);
if (p != 0)
@@ -433,7 +435,7 @@ mod_path (dirname, which_path)
tinybuf[0] = DIRNAME_SEPARATOR;
tinybuf[1] = '\0';
- /* If we have already tacked on a name(s) in this command, be sure they stay on the front as we tack on some more. */
+ /* If we have already tacked on a name(s) in this command, be sure they stay on the front as we tack on some more. */
if (prefix)
{
char *temp, c;
@@ -455,8 +457,9 @@ mod_path (dirname, which_path)
old = *which_path;
}
}
- skip_dup: ;
- } while (*dirname != '\0');
+ skip_dup:;
+ }
+ while (*dirname != '\0');
}
@@ -469,7 +472,7 @@ source_info (ignore, from_tty)
if (!s)
{
- printf_filtered("No current source file.\n");
+ printf_filtered ("No current source file.\n");
return;
}
printf_filtered ("Current source file is %s\n", s->filename);
@@ -484,9 +487,9 @@ source_info (ignore, from_tty)
printf_filtered ("Source language is %s.\n", language_str (s->language));
printf_filtered ("Compiled with %s debugging format.\n", s->debugformat);
}
+
-
/* Open a file named STRING, searching path PATH (dir names sep by some char)
using mode MODE and protection bits PROT in the calls to open.
@@ -506,7 +509,7 @@ source_info (ignore, from_tty)
Otherwise, return -1, with errno set for the last name we tried to open. */
/* >>>> This should only allow files of certain types,
- >>>> eg executable, non-directory */
+ >>>> eg executable, non-directory */
int
openp (path, try_cwd_first, string, mode, prot, filename_opened)
char *path;
@@ -557,36 +560,41 @@ openp (path, try_cwd_first, string, mode, prot, filename_opened)
len = strlen (p);
if (len == 4 && p[0] == '$' && p[1] == 'c'
- && p[2] == 'w' && p[3] == 'd') {
- /* Name is $cwd -- insert current directory name instead. */
- int newlen;
-
- /* First, realloc the filename buffer if too short. */
- len = strlen (current_directory);
- newlen = len + strlen (string) + 2;
- if (newlen > alloclen) {
- alloclen = newlen;
- filename = (char *) alloca (alloclen);
+ && p[2] == 'w' && p[3] == 'd')
+ {
+ /* Name is $cwd -- insert current directory name instead. */
+ int newlen;
+
+ /* First, realloc the filename buffer if too short. */
+ len = strlen (current_directory);
+ newlen = len + strlen (string) + 2;
+ if (newlen > alloclen)
+ {
+ alloclen = newlen;
+ filename = (char *) alloca (alloclen);
+ }
+ strcpy (filename, current_directory);
+ }
+ else
+ {
+ /* Normal file name in path -- just use it. */
+ strncpy (filename, p, len);
+ filename[len] = 0;
}
- strcpy (filename, current_directory);
- } else {
- /* Normal file name in path -- just use it. */
- strncpy (filename, p, len);
- filename[len] = 0;
- }
/* Remove trailing slashes */
- while (len > 0 && SLASH_P (filename[len-1]))
+ while (len > 0 && SLASH_P (filename[len - 1]))
filename[--len] = 0;
- strcat (filename+len, SLASH_STRING);
+ strcat (filename + len, SLASH_STRING);
strcat (filename, string);
fd = open (filename, mode);
- if (fd >= 0) break;
+ if (fd >= 0)
+ break;
}
- done:
+done:
if (filename_opened)
{
if (fd < 0)
@@ -596,13 +604,13 @@ openp (path, try_cwd_first, string, mode, prot, filename_opened)
else
{
/* Beware the // my son, the Emacs barfs, the botch that catch... */
-
- *filename_opened = concat (current_directory,
+
+ *filename_opened = concat (current_directory,
SLASH_CHAR
- == current_directory[strlen(current_directory)-1]
- ? "": SLASH_STRING,
+ == current_directory[strlen (current_directory) - 1]
+ ? "" : SLASH_STRING,
filename, NULL);
- }
+ }
}
#ifdef MPW
/* This is a debugging hack that can go away when all combinations
@@ -612,11 +620,11 @@ openp (path, try_cwd_first, string, mode, prot, filename_opened)
if (debug_openp)
{
- printf("openp on %s, path %s mode %d prot %d\n returned %d",
- string, path, mode, prot, fd);
+ printf ("openp on %s, path %s mode %d prot %d\n returned %d",
+ string, path, mode, prot, fd);
if (*filename_opened)
- printf(" (filename is %s)", *filename_opened);
- printf("\n");
+ printf (" (filename is %s)", *filename_opened);
+ printf ("\n");
}
}
#endif /* MPW */
@@ -624,7 +632,7 @@ openp (path, try_cwd_first, string, mode, prot, filename_opened)
return fd;
}
-
+
/* This is essentially a convenience, for clients that want the behaviour
of openp, using source_path, but that really don't want the file to be
opened but want instead just to know what the full pathname is (as
@@ -636,13 +644,13 @@ openp (path, try_cwd_first, string, mode, prot, filename_opened)
set to the fully-qualified pathname.
Else, this functions returns 0, and FULL_PATHNAME is set to NULL.
- */
+ */
int
source_full_path_of (filename, full_pathname)
- char * filename;
- char ** full_pathname;
+ char *filename;
+ char **full_pathname;
{
- int fd;
+ int fd;
fd = openp (source_path, 1, filename, O_RDONLY, 0, full_pathname);
if (fd < 0)
@@ -669,11 +677,11 @@ open_source_file (s)
char *fullname;
/* Quick way out if we already know its full name */
- if (s->fullname)
+ if (s->fullname)
{
result = open (s->fullname, OPEN_MODE);
if (result >= 0)
- return result;
+ return result;
/* Didn't work -- free old one, try again. */
mfree (s->objfile->md, s->fullname);
s->fullname = NULL;
@@ -684,19 +692,19 @@ open_source_file (s)
/* Replace a path entry of $cdir with the compilation directory name */
#define cdir_len 5
/* We cast strstr's result in case an ANSIhole has made it const,
- which produces a "required warning" when assigned to a nonconst. */
- p = (char *)strstr (source_path, "$cdir");
+ which produces a "required warning" when assigned to a nonconst. */
+ p = (char *) strstr (source_path, "$cdir");
if (p && (p == path || p[-1] == DIRNAME_SEPARATOR)
- && (p[cdir_len] == DIRNAME_SEPARATOR || p[cdir_len] == '\0'))
+ && (p[cdir_len] == DIRNAME_SEPARATOR || p[cdir_len] == '\0'))
{
int len;
path = (char *)
alloca (strlen (source_path) + 1 + strlen (s->dirname) + 1);
len = p - source_path;
- strncpy (path, source_path, len); /* Before $cdir */
- strcpy (path + len, s->dirname); /* new stuff */
- strcat (path + len, source_path + len + cdir_len); /* After $cdir */
+ strncpy (path, source_path, len); /* Before $cdir */
+ strcpy (path + len, s->dirname); /* new stuff */
+ strcat (path + len, source_path + len + cdir_len); /* After $cdir */
}
}
@@ -762,8 +770,8 @@ symtab_to_filename (s)
close (fd);
return s->fullname;
}
-
+
/* Create and initialize the table S->line_charpos that records
the positions of the lines in the source file, which is assumed
to be open on descriptor DESC.
@@ -782,21 +790,21 @@ find_source_lines (s, desc)
long mtime = 0;
int size;
- line_charpos = (int *) xmmalloc (s -> objfile -> md,
+ line_charpos = (int *) xmmalloc (s->objfile->md,
lines_allocated * sizeof (int));
if (fstat (desc, &st) < 0)
perror_with_name (s->filename);
if (s && s->objfile && s->objfile->obfd)
- mtime = bfd_get_mtime(s->objfile->obfd);
+ mtime = bfd_get_mtime (s->objfile->obfd);
else if (exec_bfd)
- mtime = bfd_get_mtime(exec_bfd);
+ mtime = bfd_get_mtime (exec_bfd);
if (mtime && mtime < st.st_mtime)
{
if (tui_version)
printf_filtered ("\n");
- warning("Source file is more recent than executable.\n");
+ warning ("Source file is more recent than executable.\n");
}
#ifdef LSEEK_NOT_LINEAR
@@ -807,15 +815,15 @@ find_source_lines (s, desc)
line_charpos[0] = lseek (desc, 0, SEEK_CUR);
nlines = 1;
- while (myread(desc, &c, 1)>0)
+ while (myread (desc, &c, 1) > 0)
{
- if (c == '\n')
+ if (c == '\n')
{
- if (nlines == lines_allocated)
+ if (nlines == lines_allocated)
{
lines_allocated *= 2;
line_charpos =
- (int *) xmrealloc (s -> objfile -> md, (char *) line_charpos,
+ (int *) xmrealloc (s->objfile->md, (char *) line_charpos,
sizeof (int) * lines_allocated);
}
line_charpos[nlines++] = lseek (desc, 0, SEEK_CUR);
@@ -846,14 +854,14 @@ find_source_lines (s, desc)
while (p != end)
{
if (*p++ == '\n'
- /* A newline at the end does not start a new line. */
+ /* A newline at the end does not start a new line. */
&& p != end)
{
if (nlines == lines_allocated)
{
lines_allocated *= 2;
line_charpos =
- (int *) xmrealloc (s -> objfile -> md, (char *) line_charpos,
+ (int *) xmrealloc (s->objfile->md, (char *) line_charpos,
sizeof (int) * lines_allocated);
}
line_charpos[nlines++] = p - data;
@@ -864,23 +872,25 @@ find_source_lines (s, desc)
#endif /* lseek linear. */
s->nlines = nlines;
s->line_charpos =
- (int *) xmrealloc (s -> objfile -> md, (char *) line_charpos,
- nlines * sizeof (int));
+ (int *) xmrealloc (s->objfile->md, (char *) line_charpos,
+ nlines * sizeof (int));
}
/* Return the character position of a line LINE in symtab S.
Return 0 if anything is invalid. */
-#if 0 /* Currently unused */
+#if 0 /* Currently unused */
int
source_line_charpos (s, line)
struct symtab *s;
int line;
{
- if (!s) return 0;
- if (!s->line_charpos || line <= 0) return 0;
+ if (!s)
+ return 0;
+ if (!s->line_charpos || line <= 0)
+ return 0;
if (line > s->nlines)
line = s->nlines;
return s->line_charpos[line - 1];
@@ -890,16 +900,17 @@ source_line_charpos (s, line)
int
source_charpos_line (s, chr)
- register struct symtab *s;
- register int chr;
+ register struct symtab *s;
+ register int chr;
{
register int line = 0;
register int *lnp;
-
- if (s == 0 || s->line_charpos == 0) return 0;
+
+ if (s == 0 || s->line_charpos == 0)
+ return 0;
lnp = s->line_charpos;
/* Files are usually short, so sequential search is Ok */
- while (line < s->nlines && *lnp <= chr)
+ while (line < s->nlines && *lnp <= chr)
{
line++;
lnp++;
@@ -909,9 +920,9 @@ source_charpos_line (s, chr)
return line;
}
-#endif /* 0 */
-
+#endif /* 0 */
+
/* Get full pathname and line number positions for a symtab.
Return nonzero if line numbers may have changed.
Set *FULLNAME to actual name of the file as found by `openp',
@@ -923,18 +934,20 @@ get_filename_and_charpos (s, fullname)
char **fullname;
{
register int desc, linenums_changed = 0;
-
+
desc = open_source_file (s);
if (desc < 0)
{
if (fullname)
*fullname = NULL;
return 0;
- }
+ }
if (fullname)
*fullname = s->fullname;
- if (s->line_charpos == 0) linenums_changed = 1;
- if (linenums_changed) find_source_lines (s, desc);
+ if (s->line_charpos == 0)
+ linenums_changed = 1;
+ if (linenums_changed)
+ find_source_lines (s, desc);
close (desc);
return linenums_changed;
}
@@ -956,7 +969,7 @@ identify_source_line (s, line, mid_statement, pc)
CORE_ADDR pc;
{
if (s->line_charpos == 0)
- get_filename_and_charpos (s, (char **)NULL);
+ get_filename_and_charpos (s, (char **) NULL);
if (s->fullname == 0)
return 0;
if (line > s->nlines)
@@ -971,12 +984,12 @@ identify_source_line (s, line, mid_statement, pc)
current_source_symtab = s;
return 1;
}
-
+
/* Print source lines from the file of symtab S,
starting with line number LINE and stopping before line number STOPLINE. */
-static void print_source_lines_base PARAMS ((struct symtab *s, int line, int stopline, int noerror));
+static void print_source_lines_base PARAMS ((struct symtab * s, int line, int stopline, int noerror));
static void
print_source_lines_base (s, line, stopline, noerror)
struct symtab *s;
@@ -994,24 +1007,24 @@ print_source_lines_base (s, line, stopline, noerror)
current_source_line = line;
first_line_listed = line;
- /* Only prints "No such file or directory" once */
- if ((s != last_source_visited) || (! last_source_error))
- {
- last_source_visited = s;
- desc = open_source_file (s);
- }
- else
- {
- desc = last_source_error;
- noerror = 1;
- }
+ /* Only prints "No such file or directory" once */
+ if ((s != last_source_visited) || (!last_source_error))
+ {
+ last_source_visited = s;
+ desc = open_source_file (s);
+ }
+ else
+ {
+ desc = last_source_error;
+ noerror = 1;
+ }
if (desc < 0)
{
last_source_error = desc;
- if (! noerror)
- {
+ if (!noerror)
+ {
char *name = alloca (strlen (s->filename) + 100);
sprintf (name, "%d\t%s", line, s->filename);
print_sys_errmsg (name, errno);
@@ -1046,7 +1059,8 @@ print_source_lines_base (s, line, stopline, noerror)
while (nlines-- > 0)
{
c = fgetc (stream);
- if (c == EOF) break;
+ if (c == EOF)
+ break;
last_line_listed = current_source_line;
printf_filtered ("%d\t", current_source_line++);
do
@@ -1063,7 +1077,8 @@ print_source_lines_base (s, line, stopline, noerror)
#endif
else
printf_filtered ("%c", c);
- } while (c != '\n' && (c = fgetc (stream)) >= 0);
+ }
+ while (c != '\n' && (c = fgetc (stream)) >= 0);
}
fclose (stream);
@@ -1074,44 +1089,44 @@ print_source_lines_base (s, line, stopline, noerror)
not the command line version, then the source is shown in the source
window otherwise it is simply printed */
-void
+void
print_source_lines (s, line, stopline, noerror)
- struct symtab *s;
- int line, stopline, noerror;
+ struct symtab *s;
+ int line, stopline, noerror;
{
#if defined(TUI)
- if (!tui_version ||
- m_winPtrIsNull(srcWin) || !srcWin->generic.isVisible )
- print_source_lines_base(s, line, stopline, noerror);
+ if (!tui_version ||
+ m_winPtrIsNull (srcWin) || !srcWin->generic.isVisible)
+ print_source_lines_base (s, line, stopline, noerror);
else
{
- TuiGenWinInfoPtr locator = locatorWinInfoPtr();
+ TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
extern void tui_vAddWinToLayout PARAMS ((va_list));
extern void tui_vUpdateSourceWindowsWithLine PARAMS ((va_list));
- /* Regardless of whether we can open the file,
- set current_source_symtab. */
- current_source_symtab = s;
- current_source_line = line;
- first_line_listed = line;
+ /* Regardless of whether we can open the file,
+ set current_source_symtab. */
+ current_source_symtab = s;
+ current_source_line = line;
+ first_line_listed = line;
- /* make sure that the source window is displayed */
- tuiDo((TuiOpaqueFuncPtr)tui_vAddWinToLayout, SRC_WIN);
+ /* make sure that the source window is displayed */
+ tuiDo ((TuiOpaqueFuncPtr) tui_vAddWinToLayout, SRC_WIN);
- tuiDo((TuiOpaqueFuncPtr)tui_vUpdateSourceWindowsWithLine, s, line);
- tuiDo((TuiOpaqueFuncPtr)tui_vUpdateLocatorFilename, s->filename);
- }
+ tuiDo ((TuiOpaqueFuncPtr) tui_vUpdateSourceWindowsWithLine, s, line);
+ tuiDo ((TuiOpaqueFuncPtr) tui_vUpdateLocatorFilename, s->filename);
+ }
#else
- print_source_lines_base(s, line, stopline, noerror);
+ print_source_lines_base (s, line, stopline, noerror);
#endif
}
/* Print a list of files and line numbers which a user may choose from
- in order to list a function which was specified ambiguously (as with
- `list classname::overloadedfuncname', for example). The vector in
- SALS provides the filenames and line numbers. */
+ in order to list a function which was specified ambiguously (as with
+ `list classname::overloadedfuncname', for example). The vector in
+ SALS provides the filenames and line numbers. */
static void
ambiguous_line_spec (sals)
@@ -1120,8 +1135,8 @@ ambiguous_line_spec (sals)
int i;
for (i = 0; i < sals->nelts; ++i)
- printf_filtered("file: \"%s\", line number: %d\n",
- sals->sals[i].symtab->filename, sals->sals[i].line);
+ printf_filtered ("file: \"%s\", line number: %d\n",
+ sals->sals[i].symtab->filename, sals->sals[i].line);
}
static void
@@ -1139,7 +1154,7 @@ list_command (arg, from_tty)
int linenum_beg = 0;
char *p;
- if (!have_full_symbols () && !have_partial_symbols())
+ if (!have_full_symbols () && !have_partial_symbols ())
error ("No symbol table is loaded. Use the \"file\" command.");
/* Pull in a current source symtab if necessary */
@@ -1182,7 +1197,8 @@ list_command (arg, from_tty)
{
sals = decode_line_1 (&arg1, 0, 0, 0, 0);
- if (! sals.nelts) return; /* C++ */
+ if (!sals.nelts)
+ return; /* C++ */
if (sals.nelts > 1)
{
ambiguous_line_spec (&sals);
@@ -1215,7 +1231,7 @@ list_command (arg, from_tty)
sals_end = decode_line_1 (&arg1, 0, 0, 0, 0);
else
sals_end = decode_line_1 (&arg1, 0, sal.symtab, sal.line, 0);
- if (sals_end.nelts == 0)
+ if (sals_end.nelts == 0)
return;
if (sals_end.nelts > 1)
{
@@ -1236,7 +1252,7 @@ list_command (arg, from_tty)
error ("Specified start and end are in different files.");
if (dummy_beg && dummy_end)
error ("Two empty args do not say what lines to list.");
-
+
/* if line was specified by address,
first print exactly which line, and which file.
In this case, sal.symtab == 0 means address is outside
@@ -1246,7 +1262,7 @@ list_command (arg, from_tty)
if (sal.symtab == 0)
/* FIXME-32x64--assumes sal.pc fits in long. */
error ("No source file for address %s.",
- local_hex_string((unsigned long) sal.pc));
+ local_hex_string ((unsigned long) sal.pc));
sym = find_pc_function (sal.pc);
if (sym)
{
@@ -1267,7 +1283,7 @@ list_command (arg, from_tty)
and it does not imply a symtab, it must be an undebuggable symbol
which means no source code. */
- if (! linenum_beg && sal.symtab == 0)
+ if (!linenum_beg && sal.symtab == 0)
error ("No line number known for %s.", arg);
/* If this command is repeated with RET,
@@ -1286,7 +1302,7 @@ list_command (arg, from_tty)
error ("No default source file yet. Do \"help list\".");
else if (no_end)
{
- if (lines_to_list % 2 == 0)
+ if (lines_to_list % 2 == 0)
print_source_lines (sal.symtab,
max (sal.line - (lines_to_list / 2), 1),
sal.line + (lines_to_list / 2), 0);
@@ -1298,7 +1314,7 @@ list_command (arg, from_tty)
*/
print_source_lines (sal.symtab,
max (sal.line - (lines_to_list / 2), 1),
- sal.line + ((1+lines_to_list) / 2), 0);
+ sal.line + ((1 + lines_to_list) / 2), 0);
}
else
print_source_lines (sal.symtab, sal.line,
@@ -1320,7 +1336,7 @@ line_info (arg, from_tty)
CORE_ADDR start_pc, end_pc;
int i;
- INIT_SAL (&sal); /* initialize to zeroes */
+ INIT_SAL (&sal); /* initialize to zeroes */
if (arg == 0)
{
@@ -1334,7 +1350,7 @@ line_info (arg, from_tty)
else
{
sals = decode_line_spec_1 (arg, 0);
-
+
dont_repeat ();
}
@@ -1343,15 +1359,15 @@ line_info (arg, from_tty)
for (i = 0; i < sals.nelts; i++)
{
sal = sals.sals[i];
-
+
if (sal.symtab == 0)
{
printf_filtered ("No line number information available");
if (sal.pc != 0)
{
/* This is useful for "info line *0x7f34". If we can't tell the
- user about a source line, at least let them have the symbolic
- address. */
+ user about a source line, at least let them have the symbolic
+ address. */
printf_filtered (" for address ");
wrap_here (" ");
print_address (sal.pc, gdb_stdout);
@@ -1423,22 +1439,22 @@ forward_search_command (regex, from_tty)
#if defined(TUI)
/*
- ** If this is the TUI, search from the first line displayed in
- ** the source window, otherwise, search from last_line_listed+1
- ** in current_source_symtab
- */
+ ** If this is the TUI, search from the first line displayed in
+ ** the source window, otherwise, search from last_line_listed+1
+ ** in current_source_symtab
+ */
if (!tui_version)
line = last_line_listed;
else
{
if (srcWin->generic.isVisible && srcWin->generic.contentSize > 0)
- line = ((TuiWinContent)
- srcWin->generic.content)[0]->whichElement.source.lineOrAddr.lineNo;
+ line = ((TuiWinContent)
+ srcWin->generic.content)[0]->whichElement.source.lineOrAddr.lineNo;
else
- {
- printf_filtered("No source displayed.\nExpression not found.\n");
- return;
- }
+ {
+ printf_filtered ("No source displayed.\nExpression not found.\n");
+ return;
+ }
}
line++;
#else
@@ -1473,46 +1489,49 @@ forward_search_command (regex, from_tty)
stream = fdopen (desc, FDOPEN_MODE);
clearerr (stream);
- while (1) {
- static char *buf = NULL;
- register char *p;
- int cursize, newsize;
-
- cursize = 256;
- buf = xmalloc (cursize);
- p = buf;
-
- c = getc (stream);
- if (c == EOF)
- break;
- do {
- *p++ = c;
- if (p - buf == cursize)
+ while (1)
+ {
+ static char *buf = NULL;
+ register char *p;
+ int cursize, newsize;
+
+ cursize = 256;
+ buf = xmalloc (cursize);
+ p = buf;
+
+ c = getc (stream);
+ if (c == EOF)
+ break;
+ do
{
- newsize = cursize + cursize / 2;
- buf = xrealloc (buf, newsize);
- p = buf + cursize;
- cursize = newsize;
+ *p++ = c;
+ if (p - buf == cursize)
+ {
+ newsize = cursize + cursize / 2;
+ buf = xrealloc (buf, newsize);
+ p = buf + cursize;
+ cursize = newsize;
+ }
}
- } while (c != '\n' && (c = getc (stream)) >= 0);
+ while (c != '\n' && (c = getc (stream)) >= 0);
- /* we now have a source line in buf, null terminate and match */
- *p = 0;
- if (re_exec (buf) > 0)
- {
- /* Match! */
- fclose (stream);
- if (tui_version)
- print_source_lines_base (current_source_symtab, line, line+1, 0);
- print_source_lines (current_source_symtab, line, line+1, 0);
- set_internalvar (lookup_internalvar ("_"),
- value_from_longest (builtin_type_int,
- (LONGEST) line));
- current_source_line = max (line - lines_to_list / 2, 1);
- return;
- }
- line++;
- }
+ /* we now have a source line in buf, null terminate and match */
+ *p = 0;
+ if (re_exec (buf) > 0)
+ {
+ /* Match! */
+ fclose (stream);
+ if (tui_version)
+ print_source_lines_base (current_source_symtab, line, line + 1, 0);
+ print_source_lines (current_source_symtab, line, line + 1, 0);
+ set_internalvar (lookup_internalvar ("_"),
+ value_from_longest (builtin_type_int,
+ (LONGEST) line));
+ current_source_line = max (line - lines_to_list / 2, 1);
+ return;
+ }
+ line++;
+ }
printf_filtered ("Expression not found\n");
fclose (stream);
@@ -1531,22 +1550,22 @@ reverse_search_command (regex, from_tty)
char *msg;
#if defined(TUI)
/*
- ** If this is the TUI, search from the first line displayed in
- ** the source window, otherwise, search from last_line_listed-1
- ** in current_source_symtab
- */
+ ** If this is the TUI, search from the first line displayed in
+ ** the source window, otherwise, search from last_line_listed-1
+ ** in current_source_symtab
+ */
if (!tui_version)
line = last_line_listed;
else
{
if (srcWin->generic.isVisible && srcWin->generic.contentSize > 0)
- line = ((TuiWinContent)
- srcWin->generic.content)[0]->whichElement.source.lineOrAddr.lineNo;
+ line = ((TuiWinContent)
+ srcWin->generic.content)[0]->whichElement.source.lineOrAddr.lineNo;
else
- {
- printf_filtered("No source displayed.\nExpression not found.\n");
- return;
- }
+ {
+ printf_filtered ("No source displayed.\nExpression not found.\n");
+ return;
+ }
}
line--;
#else
@@ -1590,9 +1609,11 @@ reverse_search_command (regex, from_tty)
c = getc (stream);
if (c == EOF)
break;
- do {
- *p++ = c;
- } while (c != '\n' && (c = getc (stream)) >= 0);
+ do
+ {
+ *p++ = c;
+ }
+ while (c != '\n' && (c = getc (stream)) >= 0);
/* We now have a source line in buf; null terminate and match. */
*p = 0;
@@ -1600,9 +1621,9 @@ reverse_search_command (regex, from_tty)
{
/* Match! */
fclose (stream);
- if (tui_version)
- print_source_lines_base (current_source_symtab, line, line+1, 0);
- print_source_lines (current_source_symtab, line, line+1, 0);
+ if (tui_version)
+ print_source_lines_base (current_source_symtab, line, line + 1, 0);
+ print_source_lines (current_source_symtab, line, line + 1, 0);
set_internalvar (lookup_internalvar ("_"),
value_from_longest (builtin_type_int,
(LONGEST) line));
@@ -1636,7 +1657,7 @@ _initialize_source ()
re_set_syntax (RE_SYNTAX_GREP);
c = add_cmd ("directory", class_files, directory_command,
- "Add directory DIR to beginning of search path for source files.\n\
+ "Add directory DIR to beginning of search path for source files.\n\
Forget cached info on source file locations and line positions.\n\
DIR can also be $cwd for the current working directory, or $cdir for the\n\
directory in which the source file was compiled into object code.\n\
@@ -1644,7 +1665,7 @@ With no argument, reset the search path to $cdir:$cwd, the default.",
&cmdlist);
if (dbx_commands)
- add_com_alias("use", "directory", class_files, 0);
+ add_com_alias ("use", "directory", class_files, 0);
c->completer = filename_completer;
@@ -1656,12 +1677,12 @@ $cdir in the path means the compilation directory of the source file.",
if (xdb_commands)
{
- add_com_alias("D", "directory", class_files, 0);
+ add_com_alias ("D", "directory", class_files, 0);
add_cmd ("ld", no_class, show_directories,
- "Current search path for finding source files.\n\
+ "Current search path for finding source files.\n\
$cwd in the path means the current working directory.\n\
$cdir in the path means the compilation directory of the source file.",
- &cmdlist);
+ &cmdlist);
}
add_info ("source", source_info,
@@ -1691,8 +1712,8 @@ The matching line number is also stored as the value of \"$_\".");
if (xdb_commands)
{
- add_com_alias("/", "forward-search", class_files, 0);
- add_com_alias("?", "reverse-search", class_files, 0);
+ add_com_alias ("/", "forward-search", class_files, 0);
+ add_com_alias ("?", "reverse-search", class_files, 0);
}
add_com ("list", class_files, list_command,
@@ -1720,8 +1741,8 @@ With two args if one is empty it stands for ten lines away from the other arg.",
add_show_from_set
(add_set_cmd ("listsize", class_support, var_uinteger,
- (char *)&lines_to_list,
- "Set number of source lines gdb will list by default.",
+ (char *) &lines_to_list,
+ "Set number of source lines gdb will list by default.",
&setlist),
&showlist);
}