From 9d658d3079abac17672c300ee614ed4cf41a0553 Mon Sep 17 00:00:00 2001 From: "John F. Fay" Date: Tue, 17 Mar 2009 17:19:05 +0000 Subject: [PATCH] Removing some build warnings from deprecated functions for VS2008 per e-mail from Diederick Niehorster dated Tue 3/10/2009 git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@804 7f0cb862-5218-0410-a997-914c9d46530a --- src/freeglut_init.c | 37 ++++++++++++++++++++++++++++++++++++- src/freeglut_input_devices.c | 10 ++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/src/freeglut_init.c b/src/freeglut_init.c index 768f89e..54297cf 100644 --- a/src/freeglut_init.c +++ b/src/freeglut_init.c @@ -677,6 +677,11 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) char* geometry = NULL; int i, j, argc = *pargc; +#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher + size_t sLen; + errno_t err; +#endif + if( fgState.Initialised ) fgError( "illegal glutInit() reinitialization attempt" ); @@ -696,7 +701,14 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) /* 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 + char* fps = NULL; + err = _dupenv_s( &fps, &sLen, "GLUT_FPS" ); + if (err) + fgError("Error getting GLUT_FPS environment variable"); +#else const char *fps = getenv( "GLUT_FPS" ); +#endif if( fps ) { int interval; @@ -707,9 +719,18 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) else fgState.FPSInterval = interval; } +#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher + free ( fps ); fps = NULL; /* dupenv_s allocates a string that we must free */ +#endif } - displayName = getenv( "DISPLAY"); +#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher + err = _dupenv_s( &displayName, &sLen, "DISPLAY" ); + if (err) + fgError("Error getting DISPLAY environment variable"); +#else + displayName = getenv( "DISPLAY" ); +#endif for( i = 1; i < argc; i++ ) { @@ -794,6 +815,9 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) * 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 + free ( displayName ); displayName = NULL; /* dupenv_s allocates a string that we must free */ +#endif /* * Geometry parsing deffered until here because we may need the screen @@ -892,12 +916,19 @@ void FGAPIENTRY glutInitDisplayString( const char* displayMode ) * delimited by blanks or tabs. */ char *token ; +#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher + char *next_token = NULL; +#endif size_t len = strlen ( displayMode ); char *buffer = (char *)malloc ( (len+1) * sizeof(char) ); memcpy ( buffer, displayMode, len ); buffer[len] = '\0'; +#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher + token = strtok_s ( buffer, " \t", &next_token ); +#else token = strtok ( buffer, " \t" ); +#endif while ( token ) { /* Process this token */ @@ -1074,7 +1105,11 @@ void FGAPIENTRY glutInitDisplayString( const char* displayMode ) break ; } +#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher + token = strtok_s ( NULL, " \t", &next_token ); +#else token = strtok ( NULL, " \t" ); +#endif } free ( buffer ); diff --git a/src/freeglut_input_devices.c b/src/freeglut_input_devices.c index 1734a42..142ee4c 100755 --- a/src/freeglut_input_devices.c +++ b/src/freeglut_input_devices.c @@ -139,7 +139,14 @@ void fgInitialiseInputDevices ( void ) const char *dial_device=NULL; if( !fgState.InputDevsInitialised ) { +#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher + size_t sLen; + errno_t err = _dupenv_s( &dial_device, &sLen, "GLUT_DIALS_SERIAL" ); + if (err) + fgError("Error getting GLUT_DIALS_SERIAL environment variable"); +#else dial_device = getenv ( "GLUT_DIALS_SERIAL" ); +#endif #if TARGET_HOST_MS_WINDOWS if (!dial_device){ static char devname[256]; @@ -156,6 +163,9 @@ void fgInitialiseInputDevices ( void ) #endif if ( !dial_device ) return; if ( !( dialbox_port = serial_open ( dial_device ) ) ) return; +#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) // will return true for VC8 (VC2005) and higher + free ( dial_device ); dial_device = NULL; /* dupenv_s allocates a string that we must free */ +#endif serial_putchar(dialbox_port,DIAL_INITIALIZE); glutTimerFunc ( 10, poll_dials, 0 ); fgState.InputDevsInitialised = GL_TRUE; -- 1.7.10.4