aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1992-12-15 11:19:30 +0000
committerJohn Gilmore <gnu@cygnus>1992-12-15 11:19:30 +0000
commit631f7a9f7c9d520973aec40b9ef090cc59b3caa0 (patch)
tree2f8a619f3afbe369dc2123edb38445ec76660af0 /gdb
parentfb29d6816150483a00a81ff2f5c9724e7763590e (diff)
downloadgdb-631f7a9f7c9d520973aec40b9ef090cc59b3caa0.zip
gdb-631f7a9f7c9d520973aec40b9ef090cc59b3caa0.tar.gz
gdb-631f7a9f7c9d520973aec40b9ef090cc59b3caa0.tar.bz2
Avoid printf_filtered limit.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog1
-rw-r--r--gdb/infcmd.c29
2 files changed, 21 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7d7525a..de5942e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -2,6 +2,7 @@ Tue Dec 15 02:01:00 1992 John Gilmore (gnu@cygnus.com)
* remote.c: Avoid printf_filtered line limit. Suggested by
Robert R. Henry, <rrh@tera.com>.
+ * infcmd.c (environment_info): Ditto, but it was my idea.
* main.c (main): Accept --silent as well as --quiet. Change +help
to --help. Suggested by Karl Berry, <karl@cs.umb.edu>.
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index 4230b66..89859fe 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -740,15 +740,27 @@ environment_info (var, from_tty)
{
register char *val = get_in_environ (inferior_environ, var);
if (val)
- printf_filtered ("%s = %s\n", var, val);
+ {
+ puts_filtered (var);
+ puts_filtered (" = ");
+ puts_filtered (val);
+ puts_filtered ("\n");
+ }
else
- printf_filtered ("Environment variable \"%s\" not defined.\n", var);
+ {
+ puts_filtered ("Environment variable \"");
+ puts_filtered (var);
+ puts_filtered ("\" not defined.\n");
+ }
}
else
{
register char **vector = environ_vector (inferior_environ);
while (*vector)
- printf_filtered ("%s\n", *vector++);
+ {
+ puts_filtered (*vector++);
+ puts_filtered ("\n");
+ }
}
}
@@ -770,16 +782,15 @@ set_environment_command (arg, from_tty)
if (p != 0 && val != 0)
{
/* We have both a space and an equals. If the space is before the
- equals and the only thing between the two is more space, use
- the equals */
+ equals, walk forward over the spaces til we see a nonspace
+ (possibly the equals). */
if (p > val)
while (*val == ' ')
val++;
- /* Take the smaller of the two. If there was space before the
- "=", they will be the same right now. */
-
- if (val < p)
+ /* Now if the = is after the char following the spaces,
+ take the char following the spaces. */
+ if (p > val)
p = val - 1;
}
else if (val != 0 && p == 0)