From 315afce941a7247ecf79da520d974a59534e8779 Mon Sep 17 00:00:00 2001 From: Aapo Tahkola Date: Tue, 8 Feb 2005 04:31:29 +0000 Subject: Implemented checks that prevent r300 from locking up when bad number of verts are given. Also tweaked WARN_ONCE a bit to handle va-args. --- src/mesa/drivers/dri/r300/r300_context.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/mesa/drivers/dri/r300/r300_context.h') diff --git a/src/mesa/drivers/dri/r300/r300_context.h b/src/mesa/drivers/dri/r300/r300_context.h index 54cc7e3fc1..428614b7a6 100644 --- a/src/mesa/drivers/dri/r300/r300_context.h +++ b/src/mesa/drivers/dri/r300/r300_context.h @@ -56,13 +56,17 @@ typedef struct r300_context *r300ContextPtr; /* Checkpoint.. for convenience */ #define CPT { fprintf(stderr, "%s:%s line %d\n", __FILE__, __FUNCTION__, __LINE__); } -#define WARN_ONCE(a) { \ +/* From http://gcc.gnu.org/onlinedocs/gcc-3.2.3/gcc/Variadic-Macros.html . + I suppose we could inline this and use macro to fetch out __LINE__ and stuff in case we run into trouble + with other compilers ... GLUE! +*/ +#define WARN_ONCE(a, ...) { \ static int warn##__LINE__=1; \ if(warn##__LINE__){ \ fprintf(stderr, "*********************************WARN_ONCE*********************************\n"); \ fprintf(stderr, "File %s function %s line %d\n", \ __FILE__, __FUNCTION__, __LINE__); \ - fprintf(stderr, a);\ + fprintf(stderr, a, ## __VA_ARGS__);\ fprintf(stderr, "***************************************************************************\n"); \ warn##__LINE__=0;\ } \ -- cgit v1.2.3