X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=progs%2Fdemos%2Fshapes%2Fshapes.c;h=da32e0bed4af06573b092681cada83cb6ceace08;hb=d5b5833979bc994e330507c59b59189910be99fe;hp=0c0667e65c175a78b35d0355ee466a4c87da2fff;hpb=91ec2fe55f0d74795b2fe0f64f2f6e82e4ed72d4;p=freeglut diff --git a/progs/demos/shapes/shapes.c b/progs/demos/shapes/shapes.c index 0c0667e..da32e0b 100644 --- a/progs/demos/shapes/shapes.c +++ b/progs/demos/shapes/shapes.c @@ -41,7 +41,7 @@ #include #include -#ifdef WIN32 +#ifdef _MSC_VER /* DUMP MEMORY LEAKS */ #include #endif @@ -180,15 +180,6 @@ static const entry table [] = Limitation: Cannot address pixels. Limitation: Renders in screen coords, not model coords. - - \note Uses a fixed, 256-byte array for holding strings. - The best way around this would be to use vasprintf(), - but that is not available on WIN32, I believe. - Another alternative would be to write our own formatter - from scratch and emit the characters one at a time to - the GLUT bitmap single-character drawing routine. - We could also use vsnprintf(), but I'm not sure if - that is standard... */ static void shapesPrintf (int row, int col, const char *fmt, ...) { @@ -198,7 +189,11 @@ static void shapesPrintf (int row, int col, const char *fmt, ...) va_list args; va_start(args, fmt); - (void) vsprintf (buf, fmt, args); +#if defined(WIN32) && !defined(__CYGWIN__) + (void) _vsnprintf (buf, sizeof(buf), fmt, args); +#else + (void) vsnprintf (buf, sizeof(buf), fmt, args); +#endif va_end(args); glGetIntegerv(GL_VIEWPORT,viewport); @@ -369,7 +364,7 @@ main(int argc, char *argv[]) glutInitWindowSize(640,480); glutInitWindowPosition(40,40); glutInit(&argc, argv); - glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); + glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_MULTISAMPLE); glutCreateWindow("OpenGLUT Shapes"); @@ -404,7 +399,7 @@ main(int argc, char *argv[]) glutMainLoop(); -#ifdef WIN32 +#ifdef _MSC_VER /* DUMP MEMORY LEAK INFORMATION */ _CrtDumpMemoryLeaks () ; #endif