import gdb-1999-07-12 snapshot

This commit is contained in:
Jason Molenda 1999-07-12 11:15:22 +00:00
parent edac9bffc1
commit 43e526b9b4
29 changed files with 423 additions and 167 deletions

View file

@ -1273,9 +1273,13 @@ parse_escape (string_ptr)
be call for printing things which are independent of the language
of the program being debugged. */
void
gdb_printchar (c, stream, quoter)
register int c;
static void printchar PARAMS ((int c, void (*do_fputs) (const char *, GDB_FILE*), void (*do_fprintf) (GDB_FILE*, const char *, ...), GDB_FILE *stream, int quoter));
static void
printchar (c, do_fputs, do_fprintf, stream, quoter)
int c;
void (*do_fputs) PARAMS ((const char *, GDB_FILE*));
void (*do_fprintf) PARAMS ((GDB_FILE*, const char *, ...));
GDB_FILE *stream;
int quoter;
{
@ -1289,38 +1293,76 @@ gdb_printchar (c, stream, quoter)
switch (c)
{
case '\n':
fputs_filtered ("\\n", stream);
do_fputs ("\\n", stream);
break;
case '\b':
fputs_filtered ("\\b", stream);
do_fputs ("\\b", stream);
break;
case '\t':
fputs_filtered ("\\t", stream);
do_fputs ("\\t", stream);
break;
case '\f':
fputs_filtered ("\\f", stream);
do_fputs ("\\f", stream);
break;
case '\r':
fputs_filtered ("\\r", stream);
do_fputs ("\\r", stream);
break;
case '\033':
fputs_filtered ("\\e", stream);
do_fputs ("\\e", stream);
break;
case '\007':
fputs_filtered ("\\a", stream);
do_fputs ("\\a", stream);
break;
default:
fprintf_filtered (stream, "\\%.3o", (unsigned int) c);
do_fprintf (stream, "\\%.3o", (unsigned int) c);
break;
}
}
else
{
if (c == '\\' || c == quoter)
fputs_filtered ("\\", stream);
fprintf_filtered (stream, "%c", c);
do_fputs ("\\", stream);
do_fprintf (stream, "%c", c);
}
}
/* Print the character C on STREAM as part of the contents of a
literal string whose delimiter is QUOTER. Note that these routines
should only be call for printing things which are independent of
the language of the program being debugged. */
void
fputstr_filtered (str, quoter, stream)
const char *str;
int quoter;
GDB_FILE *stream;
{
while (*str)
printchar (*str++, fputs_filtered, fprintf_filtered, stream, quoter);
}
void
fputstr_unfiltered (str, quoter, stream)
const char *str;
int quoter;
GDB_FILE *stream;
{
while (*str)
printchar (*str++, fputs_unfiltered, fprintf_unfiltered, stream, quoter);
}
void
fputstrn_unfiltered (str, n, quoter, stream)
const char *str;
int n;
int quoter;
GDB_FILE *stream;
{
int i;
for (i = 0; i < n; i++)
printchar (str[i], fputs_unfiltered, fprintf_unfiltered, stream, quoter);
}
/* Number of lines per page or UINT_MAX if paging is disabled. */