First attempt at adding John Tsiombikas' spaceball support for X11. It compiles...
[freeglut] / src / freeglut_input_devices.c
index 142ee4c..0e202fa 100755 (executable)
@@ -36,7 +36,9 @@
 #include "freeglut_internal.h"
 
 #if TARGET_HOST_POSIX_X11
+#if HAVE_ERRNO
 #include <errno.h>
+#endif
 #include <sys/ioctl.h>
 #include <sys/time.h>
 #include <time.h>
@@ -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);