Comments (3)
@gwenn I ran into the same problem while trying to convert your sqlite-jna library to jnr. It seems that JNR instantiates a native trampoline and passes a pointer to it on the native function even if the Java callback object is null.
At https://github.com/jnr/jnr-ffi/blob/master/src/main/java/jnr/ffi/provider/jffi/NativeClosureManager.java#L95 I added
if (value == null) {
return null;
}
at the beginning of ClosureSite#toNative and that seems to resolve the issue.
I haven't found a way to intercept this via the public API so this will have to get fixed in JNR itself. Would be good to get confirmation from one of the JNR maintainers that passing null for callback parameters is indeed not working correctly yet.
from jnr-ffi.
@pepijnve On my side, I fixed the issue with this commit gwenn/sqlite-jna@1593a96
Regards.
from jnr-ffi.
#77 has been merged, so I believe the next jnr-ffi release will work properly here.
Hoping to wrap up this and other PRs by end of week, so we can put out a 2.0.10 (or 2.1).
from jnr-ffi.
Related Issues (20)
- Add support for native `long double` using Java `BigDecimal`
- Test Suite Overhaul and Improvement HOT 5
- UnsatisfiedLinkError when loading 3 dependent libraries HOT 11
- Unsatisfied link when used in conjunction with jnr-posix HOT 5
- Investigate failing Pointer Boolean tests on Darwin (macOS)
- LibraryLoader.search() path not taken into consideration unless also in LD_LIBRARY_PATH HOT 3
- What's the mapping Java type of C type FILE *?
- [feature request] HOT 1
- Erorr : jnr.ffi.provider.jffi.Provider
- Native Object filling "not working"
- Native C calling Java method HOT 1
- Cannot pass a struct to 'c' function by value
- Multi-dimensional arrays as struct members HOT 1
- Load the static link library HOT 1
- Release new version of jnr-ffi HOT 1
- Why use JNR over JNA HOT 1
- support convert pointer to struct
- String parameter of a callback function gets messed when passed from DLL (Rust) to Java HOT 1
- Android and bytecode
- document build procedures
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jnr-ffi.