Fix faulty assumption that va_list is a pointer type
authorMichael Meissner <gnu@the-meissners.org>
Fri, 28 Mar 1997 20:48:12 +0000 (20:48 +0000)
committerMichael Meissner <gnu@the-meissners.org>
Fri, 28 Mar 1997 20:48:12 +0000 (20:48 +0000)
gdb/remote-sim.c
include/callback.h

index 339b39cc1a276a93e885066b039656421646592e..64dbb5dcf983916a82cd189ee0d6bf768c3b629a 100644 (file)
@@ -55,9 +55,9 @@ static void gdb_os_flush_stderr PARAMS ((host_callback *));
 /* printf_filtered is depreciated */
 static void gdb_os_printf_filtered PARAMS ((host_callback *, const char *, ...));
 
-static void gdb_os_vprintf_filtered PARAMS ((host_callback *, const char *, void *));
+static void gdb_os_vprintf_filtered PARAMS ((host_callback *, const char *, va_list));
 
-static void gdb_os_evprintf_filtered PARAMS ((host_callback *, const char *, void *));
+static void gdb_os_evprintf_filtered PARAMS ((host_callback *, const char *, va_list));
 
 static void gdb_os_error PARAMS ((host_callback *, const char *, ...));
 
@@ -268,15 +268,15 @@ gdb_os_printf_filtered (p, va_alist)
 /* VARARGS */
 static void
 #ifdef ANSI_PROTOTYPES
-gdb_os_vprintf_filtered (host_callback *p, const char *format, void *ap)
+gdb_os_vprintf_filtered (host_callback *p, const char *format, va_list ap)
 #else
 gdb_os_vprintf_filtered (p, format, ap)
      host_callback *p;
      char *format;
-     void *ap;
+     va_list ap;
 #endif
 {
-  vfprintf_filtered (gdb_stdout, format, (va_list)ap);
+  vfprintf_filtered (gdb_stdout, format, ap);
 }
 
 /* GDB version of error evprintf_filtered.  */
@@ -284,15 +284,15 @@ gdb_os_vprintf_filtered (p, format, ap)
 /* VARARGS */
 static void
 #ifdef ANSI_PROTOTYPES
-gdb_os_evprintf_filtered (host_callback *p, const char *format, void *ap)
+gdb_os_evprintf_filtered (host_callback *p, const char *format, va_list ap)
 #else
 gdb_os_evprintf_filtered (p, format, ap)
      host_callback *p;
      char *format;
-     void *ap;
+     va_list ap;
 #endif
 {
-  vfprintf_filtered (gdb_stderr, format, (va_list)ap);
+  vfprintf_filtered (gdb_stderr, format, ap);
 }
 
 /* GDB version of error callback.  */
index 944a1b787fde931307b0cf9aa12178713ec91136..b2a7fe247d9843d637b94bbf7897a926860b523f 100644 (file)
@@ -20,6 +20,15 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #ifndef CALLBACK_H
 #define CALLBACK_H
 
+#ifndef va_start
+#include <ansidecl.h>
+#ifdef ANSI_PROTOTYPES
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+#endif
+
 typedef struct host_callback_struct host_callback;
 
 #define MAX_CALLBACK_FDS 10
@@ -53,10 +62,10 @@ struct host_callback_struct
 
   /* Talk to the user on a console.
      The `void *' is actually `va_list *'.  */
-  void (*vprintf_filtered) PARAMS ((host_callback *, const char *, void *));
+  void (*vprintf_filtered) PARAMS ((host_callback *, const char *, va_list));
 
   /* Same as vprintf_filtered but to stderr.  */
-  void (*evprintf_filtered) PARAMS ((host_callback *, const char *, void *));
+  void (*evprintf_filtered) PARAMS ((host_callback *, const char *, va_list));
 
   /* Print an error message and "exit".
      In the case of gdb "exiting" means doing a longjmp back to the main