glGetProcAddressEXT changes to accomodate Win32 and non-Win32
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 17 Sep 1999 12:21:36 +0000 (12:21 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 17 Sep 1999 12:21:36 +0000 (12:21 +0000)
include/GL/gl.h
include/GL/glu.h
src/glu/mesa/glu.c

index e45acbc066f289a581ee1ce6a217d4c25bc88b10..ff67f263a3132f1e8c91fafe8ef69e67a7aee4d5 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: gl.h,v 1.5 1999/09/17 04:25:56 tjump Exp $ */
+/* $Id: gl.h,v 1.6 1999/09/17 12:21:36 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -2181,9 +2181,15 @@ GLAPI void GLAPIENTRY glUnlockArraysEXT( void );
  * If you want to try it out, #define GL_EXT_get_proc_address before
  * #include <GL/gl.h>
  */
+#define  GL_EXT_get_proc_address 1
 #ifdef GL_EXT_get_proc_address
-typedef (void (GLAPIENTRY *glProcAddress))();
-glProcAddress GLAPIENTRY glGetProcAddressEXT(const GLubyte *procName);
+#ifdef __WIN32__
+   typedef (void GLAPIENTRY *glProcAddress)();
+   glProcAddress GLAPIENTRY glGetProcAddressEXT(const GLubyte *procName);
+#else
+   /* everything but Windows */
+   GLAPI void GLAPIENTRY (*glGetProcAddressEXT(const GLubyte *procName))();
+#endif
 #endif
 
 
index 43727bcce02688e6c00f8310dc07aafe280ef1bf..01d630ef8b1303c24bf2f2af3d23157774a8a302 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: glu.h,v 1.7 1999/09/17 02:44:19 tjump Exp $ */
+/* $Id: glu.h,v 1.8 1999/09/17 12:21:36 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -23,6 +23,9 @@
 
 /*
  * $Log: glu.h,v $
+ * Revision 1.8  1999/09/17 12:21:36  brianp
+ * glGetProcAddressEXT changes to accomodate Win32 and non-Win32
+ *
  * Revision 1.7  1999/09/17 02:44:19  tjump
  * I changed the xxxGetProcAddressEXT function declarations to be more
  * MSVC friendly. Brianp - could you verify that they describe and operate
@@ -508,9 +511,12 @@ GLUAPI const GLubyte* GLAPIENTRY gluGetString( GLenum name );
  * which uses this extension yet!  It may change!
  */
 #define GLU_EXT_get_proc_address 1
-typedef (GLAPIENTRY *gluProcAddress)();
-gluProcAddress GLAPIENTRY gluGetProcAddressEXT(const GLubyte *procName);
-
+#ifdef __WIN32__
+   typedef (void (GLAPIENTRY *gluProcAddress))();
+   gluProcAddress GLAPIENTRY gluGetProcAddressEXT(const GLubyte *procName);
+#else
+   GLUAPI void GLAPIENTRY (*gluGetProcAddressEXT(const GLubyte *procName))();
+#endif
 
 
 
index 110e267aa8fa4d6fbfe6bbdf8bae01b3be434178..e844633906f40d0f8889f1580740d9dd181e32ea 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: glu.c,v 1.13 1999/09/17 03:17:18 tjump Exp $ */
+/* $Id: glu.c,v 1.14 1999/09/17 12:21:53 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -23,6 +23,9 @@
 
 /*
  * $Log: glu.c,v $
+ * Revision 1.14  1999/09/17 12:21:53  brianp
+ * glGetProcAddressEXT changes to accomodate Win32 and non-Win32
+ *
  * Revision 1.13  1999/09/17 03:17:18  tjump
  * Patch error fixup
  *
@@ -376,10 +379,12 @@ const GLubyte* GLAPIENTRY gluGetString( GLenum name )
 #ifdef GLU_EXT_get_proc_address
 
 #ifdef __cplusplus
-/* for BeOS R4.5 */
-gluProcAddress GLAPIENTRY gluGetProcAddressEXT(const GLubyte *procName)
+   /* for BeOS R4.5 */
+   void GLAPIENTRY (*gluGetProcAddressEXT(const GLubyte *procName))(...)
+#elif defined(__WIN32__)
+   gluProcAddress GLAPIENTRY gluGetProcAddressEXT(const GLubyte *procName)
 #else
-gluProcAddress GLAPIENTRY gluGetProcAddressEXT(const GLubyte *procName)
+   void GLAPIENTRY (*gluGetProcAddressEXT(const GLubyte *procName))()
 #endif
 {
    struct proc {
@@ -407,7 +412,11 @@ gluProcAddress GLAPIENTRY gluGetProcAddressEXT(const GLubyte *procName)
 
    for (i = 0; procTable[i].address; i++) {
       if (strcmp((const char *) procName, procTable[i].name) == 0)
+#ifdef __WIN32__
         return (gluProcAddress) procTable[i].address;
+#else
+         return (void (*)()) procTable[i].address;
+#endif
    }
 
    return NULL;