Skip to content

Commit

Permalink
detect open64 and stat64, removed rename, version 1.2.0.21-alpha3 (#28)
Browse files Browse the repository at this point in the history
  • Loading branch information
aldenml committed Dec 16, 2018
1 parent 9cba761 commit af175e9
Show file tree
Hide file tree
Showing 7 changed files with 16 additions and 171 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Expand Up @@ -4,7 +4,7 @@ apply plugin: 'maven'

group 'org.libtorrent4j'
archivesBaseName = 'libtorrent4j'
version '1.2.0.21-alpha2'
version '1.2.0.21-alpha3'

sourceCompatibility = '1.7'
targetCompatibility = '1.7'
Expand Down
2 changes: 1 addition & 1 deletion changelog.txt
@@ -1,4 +1,4 @@
1.2.0.21-alpha2
1.2.0.21-alpha3

* experimental support for android external storage
* lt:source code cleanup, performance and stability
Expand Down
7 changes: 1 addition & 6 deletions src/main/java/org/libtorrent4j/swig/libtorrent_jni.java
Expand Up @@ -13,7 +13,7 @@ public class libtorrent_jni {

public static String libtorrent4jVersion() {
// extracted from the gradle with the run-swig step
return "1.2.0.21-alpha2";
return "1.2.0.21-alpha3";
}

static {
Expand Down Expand Up @@ -3108,8 +3108,6 @@ public static String libtorrent4jVersion() {
public final static native int posix_wrapper_statSwigExplicitposix_wrapper(long jarg1, posix_wrapper jarg1_, String jarg2, long jarg3, posix_stat_t jarg3_);
public final static native int posix_wrapper_mkdir(long jarg1, posix_wrapper jarg1_, String jarg2, int jarg3);
public final static native int posix_wrapper_mkdirSwigExplicitposix_wrapper(long jarg1, posix_wrapper jarg1_, String jarg2, int jarg3);
public final static native int posix_wrapper_rename(long jarg1, posix_wrapper jarg1_, String jarg2, String jarg3);
public final static native int posix_wrapper_renameSwigExplicitposix_wrapper(long jarg1, posix_wrapper jarg1_, String jarg2, String jarg3);
public final static native int posix_wrapper_remove(long jarg1, posix_wrapper jarg1_, String jarg2);
public final static native int posix_wrapper_removeSwigExplicitposix_wrapper(long jarg1, posix_wrapper jarg1_, String jarg2);
public final static native long new_posix_wrapper();
Expand Down Expand Up @@ -3230,9 +3228,6 @@ public static int SwigDirector_posix_wrapper_stat(posix_wrapper jself, String pa
public static int SwigDirector_posix_wrapper_mkdir(posix_wrapper jself, String path, int mode) {
return jself.mkdir(path, mode);
}
public static int SwigDirector_posix_wrapper_rename(posix_wrapper jself, String oldpath, String newpath) {
return jself.rename(oldpath, newpath);
}
public static int SwigDirector_posix_wrapper_remove(posix_wrapper jself, String path) {
return jself.remove(path);
}
Expand Down
4 changes: 0 additions & 4 deletions src/main/java/org/libtorrent4j/swig/posix_wrapper.java
Expand Up @@ -62,10 +62,6 @@ public int mkdir(String path, int mode) {
return (getClass() == posix_wrapper.class) ? libtorrent_jni.posix_wrapper_mkdir(swigCPtr, this, path, mode) : libtorrent_jni.posix_wrapper_mkdirSwigExplicitposix_wrapper(swigCPtr, this, path, mode);
}

public int rename(String oldpath, String newpath) {
return (getClass() == posix_wrapper.class) ? libtorrent_jni.posix_wrapper_rename(swigCPtr, this, oldpath, newpath) : libtorrent_jni.posix_wrapper_renameSwigExplicitposix_wrapper(swigCPtr, this, oldpath, newpath);
}

public int remove(String path) {
return (getClass() == posix_wrapper.class) ? libtorrent_jni.posix_wrapper_remove(swigCPtr, this, path) : libtorrent_jni.posix_wrapper_removeSwigExplicitposix_wrapper(swigCPtr, this, path);
}
Expand Down
32 changes: 6 additions & 26 deletions swig/libtorrent.h
Expand Up @@ -308,18 +308,18 @@ void* get_libc() {

int posix_open(const char* path, int flags, mode_t mode) {
typedef int func_t(const char*, int, ...);
static func_t* f = (func_t*) dlsym(get_libc(), "open");
static func_t* f1 = (func_t*) dlsym(get_libc(), "open");
static func_t* f2 = (func_t*) dlsym(get_libc(), "open64");
static func_t* f = f2 != NULL ? f2 : f1;
flags |= O_LARGEFILE;
return (*f)(path, flags, mode);
}

int posix_stat(const char *path, struct ::stat *buf) {
typedef int func_t(const char*, struct ::stat*);
#if __ANDROID_API__ < 21
static func_t* f = (func_t*) dlsym(get_libc(), "stat");
#else
static func_t* f = (func_t*) dlsym(get_libc(), "stat64");
#endif
static func_t* f1 = (func_t*) dlsym(get_libc(), "stat");
static func_t* f2 = (func_t*) dlsym(get_libc(), "stat64");
static func_t* f = f2 != NULL ? f2 : f1;
return (*f)(path, buf);
}

Expand All @@ -329,12 +329,6 @@ int posix_mkdir(const char *path, mode_t mode) {
return (*f)(path, mode);
}

int posix_rename(const char *oldpath, const char *newpath) {
typedef int func_t(const char*, const char*);
static func_t* f = (func_t*) dlsym(get_libc(), "rename");
return (*f)(oldpath, newpath);
}

int posix_remove(const char *path) {
typedef int func_t(const char*);
static func_t* f = (func_t*) dlsym(get_libc(), "remove");
Expand Down Expand Up @@ -378,14 +372,6 @@ struct posix_wrapper {
#endif
}

virtual int rename(const char *oldpath, const char *newpath) {
#if WRAP_POSIX_ANDROID
return posix_rename(oldpath, newpath);
#else
return -1;
#endif
}

virtual int remove(const char *path) {
#if WRAP_POSIX_ANDROID
return posix_remove(path);
Expand Down Expand Up @@ -439,12 +425,6 @@ int mkdir(const char *path, mode_t mode) {
posix_mkdir(path, mode);
}

int rename(const char *oldpath, const char *newpath) {
return g_posix_wrapper != nullptr ?
g_posix_wrapper->rename(oldpath, newpath) :
posix_rename(oldpath, newpath);
}

int remove(const char *path) {
return g_posix_wrapper != nullptr ?
g_posix_wrapper->remove(path) :
Expand Down
135 changes: 5 additions & 130 deletions swig/libtorrent_jni.cpp
Expand Up @@ -678,7 +678,7 @@ namespace Swig {
namespace Swig {
namespace {
jclass jclass_libtorrent_jni = NULL;
jmethodID director_method_ids[9];
jmethodID director_method_ids[8];
}
}

Expand Down Expand Up @@ -2848,47 +2848,6 @@ int SwigDirector_posix_wrapper::mkdir(char const *path, int mode) {
return c_result;
}

int SwigDirector_posix_wrapper::rename(char const *oldpath, char const *newpath) {
int c_result = SwigValueInit< int >() ;
jint jresult = 0 ;
JNIEnvWrapper swigjnienv(this) ;
JNIEnv * jenv = swigjnienv.getJNIEnv() ;
jobject swigjobj = (jobject) NULL ;
jstring joldpath = 0 ;
jstring jnewpath = 0 ;

if (!swig_override[3]) {
return posix_wrapper::rename(oldpath,newpath);
}
swigjobj = swig_get_self(jenv);
if (swigjobj && jenv->IsSameObject(swigjobj, NULL) == JNI_FALSE) {
joldpath = 0;
if (oldpath) {
joldpath = jenv->NewStringUTF((const char *)oldpath);
if (!joldpath) return c_result;
}
Swig::LocalRefGuard oldpath_refguard(jenv, joldpath);
jnewpath = 0;
if (newpath) {
jnewpath = jenv->NewStringUTF((const char *)newpath);
if (!jnewpath) return c_result;
}
Swig::LocalRefGuard newpath_refguard(jenv, jnewpath);
jresult = (jint) jenv->CallStaticIntMethod(Swig::jclass_libtorrent_jni, Swig::director_method_ids[7], swigjobj, joldpath, jnewpath);
jthrowable swigerror = jenv->ExceptionOccurred();
if (swigerror) {
jenv->ExceptionClear();
throw Swig::DirectorException(jenv, swigerror);
}

c_result = (int)jresult;
} else {
SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null upcall object in posix_wrapper::rename ");
}
if (swigjobj) jenv->DeleteLocalRef(swigjobj);
return c_result;
}

int SwigDirector_posix_wrapper::remove(char const *path) {
int c_result = SwigValueInit< int >() ;
jint jresult = 0 ;
Expand All @@ -2897,7 +2856,7 @@ int SwigDirector_posix_wrapper::remove(char const *path) {
jobject swigjobj = (jobject) NULL ;
jstring jpath = 0 ;

if (!swig_override[4]) {
if (!swig_override[3]) {
return posix_wrapper::remove(path);
}
swigjobj = swig_get_self(jenv);
Expand All @@ -2908,7 +2867,7 @@ int SwigDirector_posix_wrapper::remove(char const *path) {
if (!jpath) return c_result;
}
Swig::LocalRefGuard path_refguard(jenv, jpath);
jresult = (jint) jenv->CallStaticIntMethod(Swig::jclass_libtorrent_jni, Swig::director_method_ids[8], swigjobj, jpath);
jresult = (jint) jenv->CallStaticIntMethod(Swig::jclass_libtorrent_jni, Swig::director_method_ids[7], swigjobj, jpath);
jthrowable swigerror = jenv->ExceptionOccurred();
if (swigerror) {
jenv->ExceptionClear();
Expand Down Expand Up @@ -2938,9 +2897,6 @@ void SwigDirector_posix_wrapper::swig_connect_director(JNIEnv *jenv, jobject jse
{
"mkdir", "(Ljava/lang/String;I)I", NULL
},
{
"rename", "(Ljava/lang/String;Ljava/lang/String;)I", NULL
},
{
"remove", "(Ljava/lang/String;)I", NULL
}
Expand All @@ -2955,7 +2911,7 @@ void SwigDirector_posix_wrapper::swig_connect_director(JNIEnv *jenv, jobject jse
baseclass = (jclass) jenv->NewGlobalRef(baseclass);
}
bool derived = (jenv->IsSameObject(baseclass, jcls) ? false : true);
for (int i = 0; i < 5; ++i) {
for (int i = 0; i < 4; ++i) {
if (!methods[i].base_methid) {
methods[i].base_methid = jenv->GetMethodID(baseclass, methods[i].mname, methods[i].mdesc);
if (!methods[i].base_methid) return;
Expand Down Expand Up @@ -69058,84 +69014,6 @@ SWIGEXPORT jint JNICALL Java_org_libtorrent4j_swig_libtorrent_1jni_posix_1wrappe
}


SWIGEXPORT jint JNICALL Java_org_libtorrent4j_swig_libtorrent_1jni_posix_1wrapper_1rename(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
jint jresult = 0 ;
posix_wrapper *arg1 = (posix_wrapper *) 0 ;
char *arg2 = (char *) 0 ;
char *arg3 = (char *) 0 ;
int result;

(void)jenv;
(void)jcls;
(void)jarg1_;
arg1 = *(posix_wrapper **)&jarg1;
arg2 = 0;
if (jarg2) {
arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
if (!arg2) return 0;
}
arg3 = 0;
if (jarg3) {
arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
if (!arg3) return 0;
}
{
try {
result = (int)(arg1)->rename((char const *)arg2,(char const *)arg3);
} catch (std::exception& e) {
SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, e.what());
return 0;
} catch (...) {
SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unknown exception type");
return 0;
}
}
jresult = (jint)result;
if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
return jresult;
}


SWIGEXPORT jint JNICALL Java_org_libtorrent4j_swig_libtorrent_1jni_posix_1wrapper_1renameSwigExplicitposix_1wrapper(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
jint jresult = 0 ;
posix_wrapper *arg1 = (posix_wrapper *) 0 ;
char *arg2 = (char *) 0 ;
char *arg3 = (char *) 0 ;
int result;

(void)jenv;
(void)jcls;
(void)jarg1_;
arg1 = *(posix_wrapper **)&jarg1;
arg2 = 0;
if (jarg2) {
arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
if (!arg2) return 0;
}
arg3 = 0;
if (jarg3) {
arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
if (!arg3) return 0;
}
{
try {
result = (int)(arg1)->posix_wrapper::rename((char const *)arg2,(char const *)arg3);
} catch (std::exception& e) {
SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, e.what());
return 0;
} catch (...) {
SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unknown exception type");
return 0;
}
}
jresult = (jint)result;
if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
return jresult;
}


SWIGEXPORT jint JNICALL Java_org_libtorrent4j_swig_libtorrent_1jni_posix_1wrapper_1remove(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
jint jresult = 0 ;
posix_wrapper *arg1 = (posix_wrapper *) 0 ;
Expand Down Expand Up @@ -70005,7 +69883,7 @@ SWIGEXPORT void JNICALL Java_org_libtorrent4j_swig_libtorrent_1jni_swig_1module_
static struct {
const char *method;
const char *signature;
} methods[9] = {
} methods[8] = {
{
"SwigDirector_alert_notify_callback_on_alert", "(Lorg/libtorrent4j/swig/alert_notify_callback;)V"
},
Expand All @@ -70027,9 +69905,6 @@ SWIGEXPORT void JNICALL Java_org_libtorrent4j_swig_libtorrent_1jni_swig_1module_
{
"SwigDirector_posix_wrapper_mkdir", "(Lorg/libtorrent4j/swig/posix_wrapper;Ljava/lang/String;I)I"
},
{
"SwigDirector_posix_wrapper_rename", "(Lorg/libtorrent4j/swig/posix_wrapper;Ljava/lang/String;Ljava/lang/String;)I"
},
{
"SwigDirector_posix_wrapper_remove", "(Lorg/libtorrent4j/swig/posix_wrapper;Ljava/lang/String;)I"
}
Expand Down
5 changes: 2 additions & 3 deletions swig/libtorrent_jni.h
Expand Up @@ -80,14 +80,13 @@ struct SwigDirector_posix_wrapper : public posix_wrapper, public Swig::Director
virtual int open(char const *path, int flags, int mode);
virtual int stat(char const *path, posix_stat_t *buf);
virtual int mkdir(char const *path, int mode);
virtual int rename(char const *oldpath, char const *newpath);
virtual int remove(char const *path);
public:
bool swig_overrides(int n) {
return (n < 5 ? swig_override[n] : false);
return (n < 4 ? swig_override[n] : false);
}
protected:
Swig::BoolArray<5> swig_override;
Swig::BoolArray<4> swig_override;
};


Expand Down

0 comments on commit af175e9

Please sign in to comment.