src/main/c/Posix/SerialPort_Posix.c [1052:1062]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - JNIEXPORT jint JNICALL Java_com_fazecast_jSerialComm_SerialPort_writeBytes(JNIEnv *env, jobject obj, jlong serialPortPointer, jbyteArray buffer, jint bytesToWrite, jint offset, jint timeoutMode) { // Ensure that a positive number of bytes was passed in to write serialPort *port = (serialPort*)(intptr_t)serialPortPointer; if ((bytesToWrite < 0) || (offset < 0)) return -1; // Fetch a pointer to the underlying data buffer jsize bufferLength = (*env)->GetArrayLength(env, buffer); if ((bytesToWrite + offset) > bufferLength) bytesToWrite = bufferLength - offset; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - src/main/c/Windows/SerialPort_Windows.c [1320:1330]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - JNIEXPORT jint JNICALL Java_com_fazecast_jSerialComm_SerialPort_writeBytes(JNIEnv *env, jobject obj, jlong serialPortPointer, jbyteArray buffer, jint bytesToWrite, jint offset, jint timeoutMode) { // Ensure that a positive number of bytes was passed in to write serialPort *port = (serialPort*)(intptr_t)serialPortPointer; if ((bytesToWrite < 0) || (offset < 0)) return -1; // Fetch a pointer to the underlying data buffer jsize bufferLength = (*env)->GetArrayLength(env, buffer); if ((bytesToWrite + offset) > bufferLength) bytesToWrite = bufferLength - offset; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -