- const char *extensions;
- const char *ptr;
- int i;
-
- /*
- * Make sure there is a current window, and thus -- a current context available
- */
- freeglut_assert_ready;
- freeglut_return_val_if_fail( fgStructure.Window != NULL, 0 );
-
+ const char *extensions;
+ const char *ptr;
+ int len = strlen ( extension ) ;
+
+ /*
+ * Make sure there is a current window, and thus -- a current context available
+ */
+ freeglut_assert_ready;
+ freeglut_return_val_if_fail( fgStructure.Window != NULL, 0 );
+
+ /*
+ * Note it is safe to query the extensions
+ */
+ extensions = glGetString(GL_EXTENSIONS);
+
+ freeglut_return_val_if_fail( extensions != NULL, 0 );
+
+ /*
+ * Check if the extension itself looks valid
+ */
+ if ( strchr ( extension, ' ' ) != NULL )
+ return( 0 );
+
+ /*
+ * Look for our extension
+ */
+ for (ptr = extensions; *ptr;)
+ {