* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
+#define FREEGLUT_BUILDING_LIB
#include <GL/freeglut.h>
#include "freeglut_internal.h"
char* geometry = NULL;
int i, j, argc = *pargc;
-#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher
+ /* will return true for VC8 (VC2005) and higher */
+#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 )
size_t sLen;
errno_t err;
#endif
/* check if GLUT_FPS env var is set */
#ifndef _WIN32_WCE
{
-#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher
+ /* will return true for VC8 (VC2005) and higher */
+#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 )
char* fps = NULL;
err = _dupenv_s( &fps, &sLen, "GLUT_FPS" );
if (err)
else
fgState.FPSInterval = interval;
}
-#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher
+ /* will return true for VC8 (VC2005) and higher */
+#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 )
free ( fps ); fps = NULL; /* dupenv_s allocates a string that we must free */
#endif
}
-#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher
+ /* will return true for VC8 (VC2005) and higher */
+#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 )
err = _dupenv_s( &displayName, &sLen, "DISPLAY" );
if (err)
fgError("Error getting DISPLAY environment variable");
* variable for opening the X display (see code above):
*/
fghInitialize( displayName );
-#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher
+ /* will return true for VC8 (VC2005) and higher */
+#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 )
free ( displayName ); displayName = NULL; /* dupenv_s allocates a string that we must free */
#endif
}
}
+#ifdef _WIN32
+void (__cdecl *__glutExitFunc)( int retval ) = NULL;
+
+void FGAPIENTRY __glutInitWithExit( int *argcp, char **argv, void (__cdecl *exitfunc)(int) )
+{
+ __glutExitFunc = exitfunc;
+ glutInit(argcp, argv);
+}
+#endif
+
/*
* Undoes all the "glutInit" stuff
*/
* delimited by blanks or tabs.
*/
char *token ;
-#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher
+ /* will return true for VC8 (VC2005) and higher */
+#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 )
char *next_token = NULL;
#endif
size_t len = strlen ( displayMode );
memcpy ( buffer, displayMode, len );
buffer[len] = '\0';
-#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher
+ /* will return true for VC8 (VC2005) and higher */
+#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 )
token = strtok_s ( buffer, " \t", &next_token );
#else
token = strtok ( buffer, " \t" );
break ;
}
-#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher
+ /* will return true for VC8 (VC2005) and higher */
+#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 )
token = strtok_s ( NULL, " \t", &next_token );
#else
token = strtok ( NULL, " \t" );