+const GLubyte *
+__glGetString_override(GLenum name)
+{
+ const GLubyte *result = __glGetString(name);
+
+ if (result) {
+ switch (name) {
+ case GL_EXTENSIONS:
+ result = (const GLubyte *)overrideExtensionsString((const char *)result);
+ break;
+ default:
+ break;
+ }
+ }
+
+ return result;
+}
+
+
+void
+__glGetIntegerv_override(GLenum pname, GLint *params)
+{
+ __glGetIntegerv(pname, params);
+
+ if (params) {
+ switch (pname) {
+ case GL_NUM_EXTENSIONS:
+ *params += NUM_EXTRA_EXTENSIONS;
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+
+const GLubyte *
+__glGetStringi_override(GLenum name, GLuint index)
+{
+ switch (name) {
+ case GL_EXTENSIONS:
+ {
+ GLint num_extensions = 0;
+ __glGetIntegerv(GL_NUM_EXTENSIONS, &num_extensions);
+ if (num_extensions <= index && index < num_extensions + NUM_EXTRA_EXTENSIONS) {
+ return (const GLubyte *)extra_extensions[index - num_extensions];
+ }
+ }
+ break;
+ default:
+ break;
+ }
+
+ return __glGetStringi(name, index);
+}
+
+