cleaned up a bunch of warnings
[freeglut] / progs / demos / Lorenz / lorenz.c
index 93ed843..a3a61db 100644 (file)
 /* Include Files */
 #include <stdio.h>
 #include <stdlib.h>
+#include <stdarg.h>
 #include <string.h>
 #include <math.h>
 #include <GL/freeglut.h>
-#ifdef WIN32
+#ifdef _MSC_VER
 /* DUMP MEMORY LEAKS */
 #include <crtdbg.h>
 #endif
@@ -219,8 +220,7 @@ void mouse_cb ( int button, int updown, int x, int y )
 {
   if ( updown == GLUT_DOWN )
   {
-    double dist = 1.0e20 ;  /* A very large number */
-    dist = 0.0 ;  /* so we don't get "unused variable" compiler warning */
+    /*double dist = 1.0e20 ;   A very large number */
     /* The idea here is that we go into "pick" mode and pick the nearest point
        to the mouse click position.  Unfortunately I don't have the time to implement
        it at the moment. */
@@ -242,10 +242,23 @@ void draw_curve ( int index, double position [ NUM_POINTS ][3] )
   glEnd () ;
 }
 
-void display_cb ( void )
+void bitmapPrintf (const char *fmt, ...)
 {
-  char string [ 80 ] ;
+    static char buf[256];
+    va_list args;
+
+    va_start(args, fmt);
+#if defined(WIN32) && !defined(__CYGWIN__)
+    (void) _vsnprintf (buf, sizeof(buf), fmt, args);
+#else
+    (void) vsnprintf (buf, sizeof(buf), fmt, args);
+#endif
+    va_end(args);
+    glutBitmapString ( GLUT_BITMAP_HELVETICA_12, (unsigned char*)buf ) ;
+}
 
+void display_cb ( void )
+{
   glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ) ;
 
   glColor3d ( 1.0, 1.0, 1.0 ) ;  /* White */
@@ -267,9 +280,8 @@ void display_cb ( void )
 
   /* Print the distance between the two points */
   glColor3d ( 1.0, 1.0, 1.0 ) ;  /* White */
-  sprintf ( string, "Distance: %10.6f", distance ) ;
-  glRasterPos2i ( 10, 10 ) ;
-  glutBitmapString ( GLUT_BITMAP_HELVETICA_12, (unsigned char*)string ) ;
+  glRasterPos2i ( 1, 1 ) ;
+  bitmapPrintf ( "Distance: %10.6f", distance ) ;
 
   glutSwapBuffers();
 }
@@ -356,7 +368,7 @@ int main ( int argc, char *argv[] )
   /* Enter the GLUT main loop */
   glutMainLoop () ;
 
-#ifdef WIN32
+#ifdef _MSC_VER
   /* DUMP MEMORY LEAK INFORMATION */
   _CrtDumpMemoryLeaks () ;
 #endif