INNER CODE UNIT · C

size

EhViewer-NekoInverter/EhViewer · app/src/main/cpp/gifutils.c:77

    size_t size = (*env)->GetDirectBufferCapacity(env, buffer);
    doRewrite(addr, size);
}

JNIEXPORT jobject JNICALL
Java_com_hippo_ehviewer_jni_GifUtilsKt_mmap(JNIEnv *env, jclass clazz, jint fd) {
    struct stat64 st;
    fstat64(fd, &st);
    size_t size = st.st_size;
    byte *addr = mmap64(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
    if (addr == MAP_FAILED) return NULL;
    return (*env)->NewDirectByteBuffer(env, addr, size);
}

JNIEXPORT void JNICALL
Java_com_hippo_ehviewer_jni_GifUtilsKt_munmap(JNIEnv *env, jclass clazz, jobject buffer) {
    byte *addr = (*env)->GetDirectBufferAddress(env, buffer);
    size_t size = (*env)->GetDirectBufferCapacity(env, buffer);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…