summaryrefslogtreecommitdiff
path: root/src/glut/glx/glut_util.c
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>1999-08-19 13:57:42 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>1999-08-19 13:57:42 +0000
commita4dcdcf0ffae4c6cf52354fbd63c95d7d7815fd9 (patch)
treef4c57aa74226a59913cb650b87f7083eee5e34b6 /src/glut/glx/glut_util.c
parent2d550f6ff1afa3189874c99cfe4125362ee76797 (diff)
initial check-in (post crash)
Diffstat (limited to 'src/glut/glx/glut_util.c')
-rw-r--r--src/glut/glx/glut_util.c86
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 0000000000..e18a47fb83
--- /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();
+}