JNIEXPORT void JNICALL Java_com_uber_h3core_NativeMethods_originToDirectedEdges()

in src/main/c/h3-java/src/jniapi.c [1280:1300]


JNIEXPORT void JNICALL Java_com_uber_h3core_NativeMethods_originToDirectedEdges(
    JNIEnv *env, jobject thiz, jlong h3, jlongArray results) {
    jsize sz = (**env).GetArrayLength(env, results);
    jlong *resultsElements = (**env).GetLongArrayElements(env, results, 0);

    if (resultsElements != NULL) {
        // if sz is too small, we will fail to write all the elements
        if (sz >= MAX_HEX_EDGES) {
            H3Error err = originToDirectedEdges(h3, resultsElements);
            if (err) {
                ThrowH3Exception(env, err);
            }
        } else {
            ThrowOutOfMemoryError(env);
        }

        (**env).ReleaseLongArrayElements(env, results, resultsElements, 0);
    } else {
        ThrowOutOfMemoryError(env);
    }
}