X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglprint.c;h=fbf6e0e07e35bceb47ecc824bb4552f25feb6d95;hb=6475e8951e1901b247f5d1d1dd9fcfc1e77e163a;hp=901949dcf69bbe9b1722f8b03ada362da4ae5df2;hpb=9d1825d591a7261b1cff620ba535d333352984bf;p=gldbg.git diff --git a/source/glprint.c b/source/glprint.c index 901949d..fbf6e0e 100644 --- a/source/glprint.c +++ b/source/glprint.c @@ -7,6 +7,7 @@ Distributed under the GPL #include #include +#include "enums.h" #include "glprint.h" typedef struct sGlPrintData @@ -17,6 +18,7 @@ typedef struct sGlPrintData static void init_print(GlDecoder *); static void glprint_data_free(void *); +static void print_gldError(void *, GLenum); GlDecoder *glprint_new(char *buffer, unsigned bufsize) { @@ -37,6 +39,7 @@ GlDecoder *glprint_new(char *buffer, unsigned bufsize) dec = gldecoder_new(gpd, free); init_print(dec); + dec->gldError = print_gldError; } char *glprint_get_buffer(GlDecoder *dec) @@ -51,4 +54,10 @@ static void glprint_data_free(void *data) free(gpd); } +static void print_gldError(void *user_data, GLenum code) +{ + GlPrintData *gpd = (GlPrintData *)user_data; + snprintf(gpd->buffer, gpd->bufsize, "ERROR: %s", describe_enum(code, "ErrorCode")); +} + #include "glprint.funcs"