Fixing Android/Java crash on boot due to missing init method (#70)

* adding extern c to library methods to fix JNI crash on init

* changed style to use ifdef cplusplus
This commit is contained in:
rossmc7
2020-05-29 19:24:22 +01:00
committed by GitHub
parent 58ebf438d0
commit 3f1e9f00d1

View File

@@ -36,6 +36,8 @@ using namespace ZeroTier;
#include <jni.h>
#endif
namespace ZeroTier
{
extern NodeService *service;
@@ -153,6 +155,11 @@ int zts_start(const char *path, void (*callback)(void *), uint16_t port)
return retval;
}
#ifdef __cplusplus
extern "C" {
#endif
#ifdef SDK_JNI
JNIEXPORT jint JNICALL Java_com_zerotier_libzt_ZeroTier_start(
JNIEnv *env, jobject thisObj, jstring path, jobject callback, jint port)
@@ -379,6 +386,11 @@ JNIEXPORT jint JNICALL Java_com_zerotier_libzt_ZeroTier_join(
}
#endif
#ifdef __cplusplus
}
#endif
int zts_leave(const uint64_t nwid)
{
Mutex::Lock _l(serviceLock);
@@ -617,6 +629,9 @@ int zts_get_all_network_details(struct zts_network_details *nds, int *num)
#ifdef SDK_JNI
#endif
void zts_delay_ms(long interval_ms)
{
#if defined(__WINDOWS__)
@@ -627,3 +642,7 @@ void zts_delay_ms(long interval_ms)
nanosleep(&sleepValue, NULL);
#endif
}