]> git.tdb.fi Git - gldbg.git/blobdiff - source/enums.c
Rewrite the Makefile to have proper dependencies and stuff
[gldbg.git] / source / enums.c
index 4875aa366aec8e5dbd6ab7997e1b04f117f6f4b5..b3e43af9b57ab6ba10c3ccf99ff66e6aedafb6fa 100644 (file)
@@ -7,7 +7,9 @@ Distributed under the GPL
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include "enums.h"
+#include "tmpalloc.h"
 
 typedef struct sEnumInfo
 {
@@ -16,22 +18,7 @@ typedef struct sEnumInfo
        const char *name;
 } EnumInfo;
 
-#include "enums.table"
-
-char *buffer = 0;
-unsigned buf_pos = 0;
-
-static char *buf_reserve(unsigned size)
-{
-       char *ptr;
-       if(!buffer)
-               buffer = (char *)malloc(2048);
-       if(buf_pos+size>2048)
-               buf_pos = 0;
-       ptr = buffer+buf_pos;
-       buf_pos += size;
-       return ptr;
-}
+#include "gensrc/enums.table"
 
 const char *describe_enum(GLenum value, const char *categ)
 {
@@ -64,7 +51,7 @@ const char *describe_enum(GLenum value, const char *categ)
        if(enums[high].value==value)
                return enums[high].name;
 
-       ptr = buf_reserve(20);
+       ptr = (char *)tmpalloc(20);
        snprintf(ptr, 20, "GLenum(0x%X)", value);
        return ptr;
 }
@@ -72,7 +59,7 @@ const char *describe_enum(GLenum value, const char *categ)
 const char *describe_bitfield(int mask, const char *categ)
 {
        int bit;
-       char *buf = buf_reserve(200);
+       char *buf = (char *)tmpalloc(200);
        char *ptr = buf;
 
        for(bit=1; bit; bit<<=1)