mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-17 05:18:12 +02:00
90 lines
2 KiB
C++
90 lines
2 KiB
C++
|
|
/* 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"
|
|
|
|
#if !defined(__OS2__)
|
|
|
|
/* 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;
|
|
}
|
|
#endif
|
|
|
|
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 GLUTAPIENTRY
|
|
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);
|
|
/* || defined(__OS2__) */
|
|
#if defined(_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();
|
|
}
|