* gdbtk.c (gdb_disassemble): Rework disassemble_info initialization.
authorDavid Edelsohn <dje.gcc@gmail.com>
Tue, 23 Jan 1996 17:21:16 +0000 (17:21 +0000)
committerDavid Edelsohn <dje.gcc@gmail.com>
Tue, 23 Jan 1996 17:21:16 +0000 (17:21 +0000)
gdb/ChangeLog
gdb/gdbtk.c

index eaec2e8b81ba01a33a1e2c4ebf15991d80148042..861c03dcbc046c17c865736beaaa12fe73a04a16 100644 (file)
@@ -1,3 +1,7 @@
+Tue Jan 23 09:00:48 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+       * gdbtk.c (gdb_disassemble): Rework disassemble_info initialization.
+
 Mon Jan 22 16:59:40 1996  Stan Shebs  <shebs@andros.cygnus.com>
 
        * remote.c (remotebreak): New GDB variable.
index d9ba642613afcfee620e4a245b22a21f70cb19af..3132e9ac7b150871863496304099a5b38e5927cf 100644 (file)
@@ -789,16 +789,17 @@ gdb_disassemble (clientData, interp, argc, argv)
 {
   CORE_ADDR pc, low, high;
   int mixed_source_and_assembly;
-  static disassemble_info di = {
-    (fprintf_ftype) fprintf_unfiltered, /* fprintf_func */
-    gdb_stdout,                        /* stream */
-    NULL,                      /* application_data */
-    0,                         /* flags */
-    NULL,                      /* private_data */
-    NULL,                      /* read_memory_func */
-    dis_asm_memory_error,      /* memory_error_func */
-    dis_asm_print_address      /* print_address_func */
-    };
+  static disassemble_info di;
+  static int di_initialized;
+
+  if (! di_initialized)
+    {
+      INIT_DISASSEMBLE_INFO (di, gdb_stdout);
+      di.fprintf_func = (fprintf_ftype) fprintf_unfiltered;
+      di.memory_error_func = dis_asm_memory_error;
+      di.print_address_func = dis_asm_print_address;
+      di_initialized = 1;
+    }
 
   if (argc != 3 && argc != 4)
     error ("wrong # args");