home *** CD-ROM | disk | FTP | other *** search
-
- /* 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 <stdio.h>
- #include <string.h>
-
- #include "glut.h"
- #include "glutint.h"
-
- #define PRINT_LOG_FILE_NAME "glut_error_log"
-
- static FILE *__glutLogFile = NULL;
-
- void __glutCToPStr(const char *cs, Str255 ps)
- {
- GLint i, l;
-
- l = strlen(cs);
- if(l > 255) l = 255;
- ps[0] = l;
- for(i = 0; i < l; i++) ps[i + 1] = cs[i];
- }
-
- void glutReportErrors(void)
- {
- GLenum error;
-
- while ((error = glGetError()) != GL_NO_ERROR)
- __glutWarning("GL error: %s", gluErrorString(error));
- }
-
- void __glutWarning(const char *format,...)
- {
- va_list args;
-
- if(__glutLogFile == NULL) __glutLogFile = fopen(PRINT_LOG_FILE_NAME, "w");
- if(__glutLogFile == NULL) return;
-
- va_start(args, format);
- fprintf(__glutLogFile, "GLUT: Warning in %s: ",
- __glutProgramName ? __glutProgramName : "(unamed)");
- vfprintf(__glutLogFile, format, args);
- va_end(args);
- fprintf(__glutLogFile, "\n");
- }
-
- void __glutFatalError(const char *format,...)
- {
- va_list args;
-
- if(__glutLogFile == NULL) __glutLogFile = fopen(PRINT_LOG_FILE_NAME, "w");
- if(__glutLogFile == NULL) return;
-
- va_start(args, format);
- fprintf(__glutLogFile, "GLUT: Fatal Error in %s: ",
- __glutProgramName ? __glutProgramName : "(unamed)");
- vfprintf(__glutLogFile, format, args);
- va_end(args);
- fprintf(__glutLogFile, "\n");
- exit(1);
- }
-
- void __glutFatalUsage(const char *format,...)
- {
- va_list args;
-
- if(__glutLogFile == NULL) __glutLogFile = fopen(PRINT_LOG_FILE_NAME, "w");
- if(__glutLogFile == NULL) return;
-
- va_start(args, format);
- fprintf(__glutLogFile, "GLUT: Fatal API Usage in %s: ",
- __glutProgramName ? __glutProgramName : "(unamed)");
- vfprintf(__glutLogFile, format, args);
- va_end(args);
- fprintf(__glutLogFile, "\n");
- abort();
- }
-
- char *
- __glutStrdup(const char *string)
- {
- char *copy;
-
- copy = malloc(strlen(string) + 1);
- if (copy == NULL)
- return NULL;
- strcpy(copy, string);
- return copy;
- }