From 0c9694ba60670f1448e3791edeadee8f3427900b Mon Sep 17 00:00:00 2001 From: Vlad Ilyushchenko Date: Wed, 15 May 2019 00:16:14 +0100 Subject: [PATCH] fix: linux binary --- core/src/main/c/share/files.c | 6 ++---- .../resources/binaries/linux/libquestdb.so | Bin 138240 -> 138240 bytes 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/core/src/main/c/share/files.c b/core/src/main/c/share/files.c index 44c00c8ff..0b578c0b7 100644 --- a/core/src/main/c/share/files.c +++ b/core/src/main/c/share/files.c @@ -95,11 +95,9 @@ JNIEXPORT jlong JNICALL Java_com_questdb_std_Files_sequentialRead JNIEXPORT jlong JNICALL Java_com_questdb_std_Files_getLastModified (JNIEnv *e, jclass cl, jlong pchar) { - struct stat st; - int r = stat((const char *) pchar, &st); - return r == 0 ? 1000 * (jlong) st.st_mtime : r; + return r == 0 ? ((1000 * st.st_mtim.tv_sec) + (st.st_mtim.tv_nsec / 1000000)) : r; } JNIEXPORT jlong JNICALL Java_com_questdb_std_Files_openRO @@ -281,5 +279,5 @@ JNIEXPORT jboolean JNICALL Java_com_questdb_std_Files_rename JNIEXPORT jboolean JNICALL Java_com_questdb_std_Files_exists0 (JNIEnv *e, jclass cls, jlong lpsz) { - return access((const char *) lpsz, F_OK); + return access((const char *) lpsz, F_OK) == 0; } diff --git a/core/src/main/resources/binaries/linux/libquestdb.so b/core/src/main/resources/binaries/linux/libquestdb.so index 634841bd78c7fc2a8828de233d77b0982f739cfb..14c100aecd4aedd58309d6e0890aec7f0cb663fc 100755 GIT binary patch delta 11562 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 delta 11437 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 RkJTGwCxyG$hRb7{{U5B<=pO(8 -- GitLab