aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meissner <gnu@the-meissners.org>1997-03-28 20:48:12 +0000
committerMichael Meissner <gnu@the-meissners.org>1997-03-28 20:48:12 +0000
commit8902803f752535d841d0f94202a9a59334e27182 (patch)
tree0c465d86df02e135d469a4316a1d0417255c9716
parentb26ac9e1e8e06d070cc6a23d1f60b926c326243d (diff)
downloadgdb-8902803f752535d841d0f94202a9a59334e27182.zip
gdb-8902803f752535d841d0f94202a9a59334e27182.tar.gz
gdb-8902803f752535d841d0f94202a9a59334e27182.tar.bz2
Fix faulty assumption that va_list is a pointer type
-rw-r--r--gdb/remote-sim.c16
-rw-r--r--include/callback.h13
2 files changed, 19 insertions, 10 deletions
diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c
index 339b39c..64dbb5d 100644
--- a/gdb/remote-sim.c
+++ b/gdb/remote-sim.c
@@ -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. */
diff --git a/include/callback.h b/include/callback.h
index 944a1b7..b2a7fe2 100644
--- a/include/callback.h
+++ b/include/callback.h
@@ -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