Thu Jul 25 12:08:09 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
[deliverable/binutils-gdb.git] / gdb / command.c
index b112d730b5e5a93cfbf4e36c4d2acc3f444ce3ed..9afbf82e59a5920c5b20c60f3f37a58f1e2563cf 100644 (file)
@@ -13,14 +13,18 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
 #include "defs.h"
 #include "gdbcmd.h"
 #include "symtab.h"
 #include "value.h"
+#include "wait.h"
 #include <ctype.h>
-#include <string.h>
+#include "gdb_string.h"
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
 
 /* Prototypes for local functions */
 
@@ -76,18 +80,19 @@ add_cmd (name, class, fun, doc, list)
   c->class = class;
   c->function.cfunc = fun;
   c->doc = doc;
-  c->prefixlist = 0;
-  c->prefixname = (char *)NULL;
+  c->hook = NULL;
+  c->prefixlist = NULL;
+  c->prefixname = NULL;
   c->allow_unknown = 0;
-  c->hook = 0;
-  c->hookee = 0;
-  c->cmd_pointer = 0;
   c->abbrev_flag = 0;
-  c->type = not_set_cmd;
   c->completer = make_symbol_completion_list;
-  c->var = 0;
+  c->type = not_set_cmd;
+  c->var = NULL;
   c->var_type = var_boolean;
-  c->user_commands = 0;
+  c->enums = NULL;
+  c->user_commands = NULL;
+  c->hookee = NULL;
+  c->cmd_pointer = NULL;
   *list = c;
   return c;
 }
@@ -1044,7 +1049,7 @@ complete_on_enum (enumlist, text, word)
   matchlist = (char **) xmalloc (sizeof_matchlist * sizeof (char *));
   matches = 0;
 
-  for (i = 0; name = enumlist[i]; i++)
+  for (i = 0; (name = enumlist[i]) != NULL; i++)
     if (strncmp (name, text, textlen) == 0)
       {
        if (matches == sizeof_matchlist)
@@ -1268,9 +1273,11 @@ do_setshow_command (arg, from_tty, c)
       case var_string:
        {
          unsigned char *p;
+
          fputs_filtered ("\"", gdb_stdout);
-         for (p = *(unsigned char **) c->var; *p != '\0'; p++)
-           gdb_printchar (*p, gdb_stdout, '"');
+         if (*(unsigned char **)c->var)
+           for (p = *(unsigned char **) c->var; *p != '\0'; p++)
+             gdb_printchar (*p, gdb_stdout, '"');
          fputs_filtered ("\"", gdb_stdout);
        }
        break;
@@ -1278,7 +1285,8 @@ do_setshow_command (arg, from_tty, c)
       case var_filename:
       case var_enum:
        fputs_filtered ("\"", gdb_stdout);
-       fputs_filtered (*(char **) c->var, gdb_stdout);
+       if (*(char **)c->var)
+         fputs_filtered (*(char **) c->var, gdb_stdout);
        fputs_filtered ("\"", gdb_stdout);
        break;
       case var_boolean:
This page took 0.024147 seconds and 4 git commands to generate.