diff --git a/wpiutil/src/main/java/edu/wpi/first/util/WPIUtilJNI.java b/wpiutil/src/main/java/edu/wpi/first/util/WPIUtilJNI.java index d2a76fe4da..92e4f17d90 100644 --- a/wpiutil/src/main/java/edu/wpi/first/util/WPIUtilJNI.java +++ b/wpiutil/src/main/java/edu/wpi/first/util/WPIUtilJNI.java @@ -54,6 +54,8 @@ public class WPIUtilJNI { libraryLoaded = true; } + public static native void writeStderr(String str); + public static native void enableMockTime(); public static native void disableMockTime(); diff --git a/wpiutil/src/main/native/cpp/jni/WPIUtilJNI.cpp b/wpiutil/src/main/native/cpp/jni/WPIUtilJNI.cpp index 34ca873ed1..15b1895718 100644 --- a/wpiutil/src/main/native/cpp/jni/WPIUtilJNI.cpp +++ b/wpiutil/src/main/native/cpp/jni/WPIUtilJNI.cpp @@ -5,6 +5,7 @@ #include #include "edu_wpi_first_util_WPIUtilJNI.h" +#include "fmt/format.h" #include "wpi/Synchronization.h" #include "wpi/jni_util.h" #include "wpi/timestamp.h" @@ -41,6 +42,18 @@ JNIEXPORT void JNICALL JNI_OnUnload(JavaVM* vm, void* reserved) { interruptedEx.free(env); } +/* + * Class: edu_wpi_first_util_WPIUtilJNI + * Method: writeStderr + * Signature: (Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL +Java_edu_wpi_first_util_WPIUtilJNI_writeStderr + (JNIEnv* env, jclass, jstring str) +{ + fmt::print(stderr, "{}", JStringRef{env, str}); +} + /* * Class: edu_wpi_first_util_WPIUtilJNI * Method: enableMockTime