JNIEXPORT void JNICALL Java_com_uber_h3core_NativeMethods_uncompactCells()

in src/main/c/h3-java/src/jniapi.c [931:957]


JNIEXPORT void JNICALL Java_com_uber_h3core_NativeMethods_uncompactCells(
    JNIEnv *env, jobject thiz, jlongArray h3, jint res, jlongArray results) {
    jsize numHexes = (**env).GetArrayLength(env, h3);
    jlong *h3Elements = (**env).GetLongArrayElements(env, h3, 0);

    if (h3Elements != NULL) {
        jsize maxHexes = (**env).GetArrayLength(env, results);
        jlong *resultsElements = (**env).GetLongArrayElements(env, results, 0);

        if (resultsElements != NULL) {
            H3Error err = uncompactCells(h3Elements, numHexes, resultsElements,
                                         maxHexes, res);

            (**env).ReleaseLongArrayElements(env, h3, h3Elements, 0);
            (**env).ReleaseLongArrayElements(env, results, resultsElements, 0);

            if (err) {
                ThrowH3Exception(env, err);
            }
        } else {
            (**env).ReleaseLongArrayElements(env, h3, h3Elements, 0);
            ThrowOutOfMemoryError(env);
        }
    } else {
        ThrowOutOfMemoryError(env);
    }
}