Avoid printf_filtered limit.
authorJohn Gilmore <gnu@cygnus>
Tue, 15 Dec 1992 11:19:30 +0000 (11:19 +0000)
committerJohn Gilmore <gnu@cygnus>
Tue, 15 Dec 1992 11:19:30 +0000 (11:19 +0000)
gdb/ChangeLog
gdb/infcmd.c

index 7d7525a1385d8ff5b008cb9b44a6a104a31fb206..de5942e5d0ddd0cd039eb49ad0d714c77530a20c 100644 (file)
@@ -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>.
index 4230b66e21ad6f37fdc0693666c78fb97928d1a5..89859fe0527fbe78b8b2eed6582bc6a936fa7076 100644 (file)
@@ -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)