diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-05-14 19:37:57 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-05-14 19:37:57 +0000 |
commit | d8fc87731898508fa3fe2e138264a4f06836f1fc (patch) | |
tree | 56d5c1bbe02d4040169af4b93fe7753903a1dad0 /gdb/printcmd.c | |
parent | cb9461ffc227b309472293f100cd612e12506f93 (diff) | |
download | gdb-d8fc87731898508fa3fe2e138264a4f06836f1fc.zip gdb-d8fc87731898508fa3fe2e138264a4f06836f1fc.tar.gz gdb-d8fc87731898508fa3fe2e138264a4f06836f1fc.tar.bz2 |
* source.c (find_source_lines): Always use code that was #ifdef
BROKEN_LARGE_ALLOCA. Do the cleanup before returning, rather than
leaving it on the chain. Reindent much of this function.
* config/sparc/{xm-sun4sol2.h,xm-sun4os4.h},
config/i386/{xm-sun386.h,xm-i386m3.h,xm-i386mach.h},
config/m68k/{sun3os4.h,xm-news.h,xm-hp300hpux.h},
config/ns32k/xm-ns32km3.h: Remove all references to
BROKEN_LARGE_ALLOCA; with the above change it is no longer needed.
* main.c, fork-child.c, many config files: Remove all
SET_STACK_LIMIT_HUGE code; with the above changes it should no
longer be needed.
* symtab.c (lookup_partial_symbol): Use if and abort, not assert.
This avoids __eprintf troubles.
* main.c (main): Surround in #ifndef MAIN_OVERRIDE. Move
initialization code which needs to be called even if we bypass the
command line stuff into gdb_init.
* utils.c (fputs_unfiltered): Surround in #ifndef
FPUTS_UNFILTERED_OVERRIDE.
* Makefile.in (libgdb.a): New target.
* utils.c: Rearrange I/O stuff a bit so that all output goes
through fputs_unfiltered. Use vasprintf; removes arbitrary limit
which made %s not work with arbitrarily large strings.
* printcmd.c (printf_command): Use printf_filtered, not
printf_unfiltered and printf, now that arbitrary limit is gone.
Diffstat (limited to 'gdb/printcmd.c')
-rw-r--r-- | gdb/printcmd.c | 29 |
1 files changed, 7 insertions, 22 deletions
diff --git a/gdb/printcmd.c b/gdb/printcmd.c index d693a3e..2060024 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -1852,8 +1852,8 @@ printf_command (arg, from_tty) { /* Now scan the string for %-specs and see what kinds of args they want. - argclass[I] classifies the %-specs so we can give vprintf_unfiltered something - of the right size. */ + argclass[I] classifies the %-specs so we can give printf_filtered + something of the right size. */ enum argclass {no_arg, int_arg, string_arg, double_arg, long_long_arg}; enum argclass *argclass; @@ -1949,16 +1949,6 @@ printf_command (arg, from_tty) if (nargs != nargs_wanted) error ("Wrong number of arguments for specified format-string"); - /* FIXME: We should be using vprintf_filtered, but as long as it - has an arbitrary limit that is unacceptable. Correct fix is - for vprintf_filtered to scan down the format string so it knows - how big a buffer it needs (perhaps by putting a vasprintf (see - GNU C library) in libiberty). - - But for now, just force out any pending output, so at least the output - appears in the correct order. */ - wrap_here ((char *)NULL); - /* Now actually print them. */ current_substring = substrings; for (i = 0; i < nargs; i++) @@ -1987,23 +1977,20 @@ printf_command (arg, from_tty) read_memory (tem, str, j); str[j] = 0; - /* Don't use printf_filtered because of arbitrary limit. */ - printf_unfiltered (current_substring, str); + printf_filtered (current_substring, str); } break; case double_arg: { double val = value_as_double (val_args[i]); - /* Don't use printf_filtered because of arbitrary limit. */ - printf_unfiltered (current_substring, val); + printf_filtered (current_substring, val); break; } case long_long_arg: #if defined (CC_HAS_LONG_LONG) && defined (PRINTF_HAS_LONG_LONG) { long long val = value_as_long (val_args[i]); - /* Don't use printf_filtered because of arbitrary limit. */ - printf_unfiltered (current_substring, val); + printf_filtered (current_substring, val); break; } #else @@ -2013,8 +2000,7 @@ printf_command (arg, from_tty) { /* FIXME: there should be separate int_arg and long_arg. */ long val = value_as_long (val_args[i]); - /* Don't use printf_filtered because of arbitrary limit. */ - printf_unfiltered (current_substring, val); + printf_filtered (current_substring, val); break; } default: @@ -2024,8 +2010,7 @@ printf_command (arg, from_tty) current_substring += strlen (current_substring) + 1; } /* Print the portion of the format string after the last argument. */ - /* It would be OK to use printf_filtered here. */ - printf (last_arg); + printf_filtered (last_arg); } do_cleanups (old_cleanups); } |