@@ 100,7 100,11 @@ public final class Wofi {
private static final void exec(byte[] cmd) {
try {
- impl.exec(new String(cmd));
+ if(cmd == null) {
+ impl.exec(null);
+ } else {
+ impl.exec(new String(cmd));
+ }
} catch(Exception e) {
e.printStackTrace();
}
@@ 285,8 285,11 @@ struct widget* get_widget(void) {
void exec(const char* cmd) {
jmethodID method = (*gtk_env)->GetStaticMethodID(gtk_env, wofi, "exec", "([B)V");
- size_t cmd_l = strlen(cmd);
- jbyteArray arr = (*gtk_env)->NewByteArray(gtk_env, cmd_l);
- (*gtk_env)->SetByteArrayRegion(gtk_env, arr, 0, cmd_l, (jbyte*) cmd);
+ jbyteArray arr = NULL;
+ if(cmd != NULL) {
+ size_t cmd_l = strlen(cmd);
+ arr = (*gtk_env)->NewByteArray(gtk_env, cmd_l);
+ (*gtk_env)->SetByteArrayRegion(gtk_env, arr, 0, cmd_l, (jbyte*) cmd);
+ }
(*gtk_env)->CallStaticVoidMethod(gtk_env, wofi, method, arr);
}