Fix faulty assumption that va_list is a pointer type

This commit is contained in:
Michael Meissner 1997-03-28 20:48:12 +00:00
parent b26ac9e1e8
commit 8902803f75
2 changed files with 19 additions and 10 deletions

View 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. */

View 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