X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_input_devices.c;h=0e202fa65f009e07439fe0cee2a864c7baca3f10;hb=bb97ecab3add22cf774d3bb8bdb9d1be537cc524;hp=142ee4c7571ff3a300afc5cbf3c82ceb8b7e5695;hpb=9d658d3079abac17672c300ee614ed4cf41a0553;p=freeglut diff --git a/src/freeglut_input_devices.c b/src/freeglut_input_devices.c index 142ee4c..0e202fa 100755 --- a/src/freeglut_input_devices.c +++ b/src/freeglut_input_devices.c @@ -36,7 +36,9 @@ #include "freeglut_internal.h" #if TARGET_HOST_POSIX_X11 +#if HAVE_ERRNO #include +#endif #include #include #include @@ -136,15 +138,17 @@ int fgInputDeviceDetect( void ) */ 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 + /* will return true for VC8 (VC2005) and higher */ +#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) && HAVE_ERRNO + char *dial_device=NULL; 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 + const char *dial_device=NULL; dial_device = getenv ( "GLUT_DIALS_SERIAL" ); #endif #if TARGET_HOST_MS_WINDOWS @@ -163,7 +167,8 @@ 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 + /* will return true for VC8 (VC2005) and higher */ +#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) && HAVE_ERRNO free ( dial_device ); dial_device = NULL; /* dupenv_s allocates a string that we must free */ #endif serial_putchar(dialbox_port,DIAL_INITIALIZE);