diff options
author | Brian Paul <[email protected]> | 1999-08-19 13:57:42 +0000 |
---|---|---|
committer | Brian Paul <[email protected]> | 1999-08-19 13:57:42 +0000 |
commit | a4dcdcf0ffae4c6cf52354fbd63c95d7d7815fd9 (patch) | |
tree | f4c57aa74226a59913cb650b87f7083eee5e34b6 /src/glut/glx/glut_util.c | |
parent | 2d550f6ff1afa3189874c99cfe4125362ee76797 (diff) |
initial check-in (post crash)
Diffstat (limited to 'src/glut/glx/glut_util.c')
-rw-r--r-- | src/glut/glx/glut_util.c | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/glut/glx/glut_util.c b/src/glut/glx/glut_util.c new file mode 100644 index 00000000000..e18a47fb83c --- /dev/null +++ b/src/glut/glx/glut_util.c @@ -0,0 +1,86 @@ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <stdio.h> + +#include "glutint.h" + +/* strdup is actually not a standard ANSI C or POSIX routine + so implement a private one for GLUT. OpenVMS does not have a + strdup; Linux's standard libc doesn't declare strdup by default + (unless BSD or SVID interfaces are requested). */ +char * +__glutStrdup(const char *string) +{ + char *copy; + + copy = (char*) malloc(strlen(string) + 1); + if (copy == NULL) + return NULL; + strcpy(copy, string); + return copy; +} + +void +__glutWarning(char *format,...) +{ + va_list args; + + va_start(args, format); + fprintf(stderr, "GLUT: Warning in %s: ", + __glutProgramName ? __glutProgramName : "(unamed)"); + vfprintf(stderr, format, args); + va_end(args); + putc('\n', stderr); +} + +/* CENTRY */ +void APIENTRY +glutReportErrors(void) +{ + GLenum error; + + while ((error = glGetError()) != GL_NO_ERROR) + __glutWarning("GL error: %s", gluErrorString(error)); +} +/* ENDCENTRY */ + +void +__glutFatalError(char *format,...) +{ + va_list args; + + va_start(args, format); + fprintf(stderr, "GLUT: Fatal Error in %s: ", + __glutProgramName ? __glutProgramName : "(unamed)"); + vfprintf(stderr, format, args); + va_end(args); + putc('\n', stderr); +#ifdef _WIN32 + if (__glutExitFunc) { + __glutExitFunc(1); + } +#endif + exit(1); +} + +void +__glutFatalUsage(char *format,...) +{ + va_list args; + + va_start(args, format); + fprintf(stderr, "GLUT: Fatal API Usage in %s: ", + __glutProgramName ? __glutProgramName : "(unamed)"); + vfprintf(stderr, format, args); + va_end(args); + putc('\n', stderr); + abort(); +} |