Home | History | Annotate | Download | only in gles11
      1 #include <string.h>
      2 
      3 /* void glGetShaderInfoLog ( GLuint shader, GLsizei maxLength, GLsizei* length, GLchar* infoLog ) */
      4 static
      5 jstring
      6 android_glGetShaderInfoLog (JNIEnv *_env, jobject _this, jint shader) {
      7     GLint infoLen = 0;
      8     jstring _result = 0;
      9     char* buf = 0;
     10     glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLen);
     11     if (infoLen) {
     12         char* buf = (char*) malloc(infoLen);
     13         if (buf == 0) {
     14             _env->ThrowNew(IAEClass, "out of memory");
     15             goto exit;
     16         }
     17         glGetShaderInfoLog(shader, infoLen, NULL, buf);
     18         _result = _env->NewStringUTF(buf);
     19     } else {
     20         _result = _env->NewStringUTF("");
     21     }
     22 exit:
     23     if (buf) {
     24             free(buf);
     25     }
     26     return _result;
     27 }