- A few more patches for JGIR
This commit is contained in:
parent
22ca1ba2d4
commit
8e879d7f94
40
jna-3.0.4-structure-handle-null.patch
Normal file
40
jna-3.0.4-structure-handle-null.patch
Normal file
@ -0,0 +1,40 @@
|
||||
diff -ur jna-3.0.4-svn630/src/com/sun/jna/Structure.java jna-3.0.4-svn630.orig/src/com/sun/jna/Structure.java
|
||||
--- jna-3.0.4-svn630/src/com/sun/jna/Structure.java 2008-09-05 21:49:16.000000000 -0400
|
||||
+++ jna-3.0.4-svn630.orig/src/com/sun/jna/Structure.java 2008-09-06 17:43:34.000000000 -0400
|
||||
@@ -612,28 +612,28 @@
|
||||
|
||||
// Set the value at the offset according to its type
|
||||
if (nativeType == boolean.class || nativeType == Boolean.class) {
|
||||
- memory.setInt(offset, Boolean.TRUE.equals(value) ? -1 : 0);
|
||||
+ memory.setInt(offset, (value != null && Boolean.TRUE.equals(value)) ? -1 : 0);
|
||||
}
|
||||
else if (nativeType == byte.class || nativeType == Byte.class) {
|
||||
- memory.setByte(offset, ((Byte)value).byteValue());
|
||||
+ memory.setByte(offset, value != null ? ((Byte)value).byteValue() : 0);
|
||||
}
|
||||
else if (nativeType == short.class || nativeType == Short.class) {
|
||||
- memory.setShort(offset, ((Short)value).shortValue());
|
||||
+ memory.setShort(offset, value != null ? ((Short)value).shortValue() : 0);
|
||||
}
|
||||
else if (nativeType == char.class || nativeType == Character.class) {
|
||||
- memory.setChar(offset, ((Character)value).charValue());
|
||||
+ memory.setChar(offset, value != null ? ((Character)value).charValue() : '\0');
|
||||
}
|
||||
else if (nativeType == int.class || nativeType == Integer.class) {
|
||||
- memory.setInt(offset, ((Integer)value).intValue());
|
||||
+ memory.setInt(offset, value != null ? ((Integer)value).intValue() : 0);
|
||||
}
|
||||
else if (nativeType == long.class || nativeType == Long.class) {
|
||||
- memory.setLong(offset, ((Long)value).longValue());
|
||||
+ memory.setLong(offset, value != null ? ((Long)value).longValue() : 0);
|
||||
}
|
||||
else if (nativeType == float.class || nativeType == Float.class) {
|
||||
- memory.setFloat(offset, ((Float)value).floatValue());
|
||||
+ memory.setFloat(offset, value != null ? ((Float)value).floatValue() : 0.0f);
|
||||
}
|
||||
else if (nativeType == double.class || nativeType == Double.class) {
|
||||
- memory.setDouble(offset, ((Double)value).doubleValue());
|
||||
+ memory.setDouble(offset, value != null ? ((Double)value).doubleValue() : 0.0);
|
||||
}
|
||||
else if (nativeType == Pointer.class) {
|
||||
memory.setPointer(offset, (Pointer)value);
|
46
jna-3.0.4-structure-reason.patch
Normal file
46
jna-3.0.4-structure-reason.patch
Normal file
@ -0,0 +1,46 @@
|
||||
diff -ur jna-3.0.4-svn630/src/com/sun/jna/Structure.java jna-3.0.4-svn630.orig/src/com/sun/jna/Structure.java
|
||||
--- jna-3.0.4-svn630/src/com/sun/jna/Structure.java 2008-07-31 13:44:21.000000000 -0400
|
||||
+++ jna-3.0.4-svn630.orig/src/com/sun/jna/Structure.java 2008-09-05 21:47:51.000000000 -0400
|
||||
@@ -126,8 +126,16 @@
|
||||
}
|
||||
|
||||
protected Structure(int size, int alignment) {
|
||||
+ this(size, alignment, null);
|
||||
+ }
|
||||
+
|
||||
+ protected Structure(TypeMapper mapper) {
|
||||
+ this(CALCULATE_SIZE, ALIGN_DEFAULT, mapper);
|
||||
+ }
|
||||
+
|
||||
+ protected Structure(int size, int alignment, TypeMapper mapper) {
|
||||
setAlignType(alignment);
|
||||
- setTypeMapper(null);
|
||||
+ setTypeMapper(mapper);
|
||||
allocateMemory(size);
|
||||
}
|
||||
|
||||
@@ -974,7 +982,8 @@
|
||||
}
|
||||
catch(IllegalArgumentException e) {
|
||||
throw new IllegalArgumentException("The type \"" + type.getName()
|
||||
- + "\" is not supported as a structure field");
|
||||
+ + "\" is not supported as a structure field: "
|
||||
+ + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
diff -ur jna-3.0.4-svn630/src/com/sun/jna/Union.java jna-3.0.4-svn630.orig/src/com/sun/jna/Union.java
|
||||
--- jna-3.0.4-svn630/src/com/sun/jna/Union.java 2008-07-31 13:44:21.000000000 -0400
|
||||
+++ jna-3.0.4-svn630.orig/src/com/sun/jna/Union.java 2008-09-05 21:47:18.000000000 -0400
|
||||
@@ -39,6 +39,11 @@
|
||||
protected Union(int size, int alignType) {
|
||||
super(size, alignType);
|
||||
}
|
||||
+
|
||||
+ protected Union(TypeMapper mapper) {
|
||||
+ super(mapper);
|
||||
+ }
|
||||
+
|
||||
/** Indicates which field will be used to write to native memory.
|
||||
* @throws IllegalArgumentException if the type does not correspond to
|
||||
* any declared union field.
|
13
jna.spec
13
jna.spec
@ -1,6 +1,6 @@
|
||||
Name: jna
|
||||
Version: 3.0.4
|
||||
Release: 2.svn630%{?dist}
|
||||
Release: 3.svn630%{?dist}
|
||||
Summary: Pure Java access to native libraries
|
||||
|
||||
Group: Development/Libraries
|
||||
@ -18,8 +18,12 @@ Patch1: jna-3.0.2-loadlibrary.patch
|
||||
Patch2: jna-3.0.4-nomixedjar.patch
|
||||
# https://jna.dev.java.net/issues/show_bug.cgi?id=84
|
||||
Patch3: jna-3.0.4-callbacks-typemappers.patch
|
||||
# https://jna.dev.java.net/issues/show_bug.cgi?id=XXX
|
||||
# https://jna.dev.java.net/issues/show_bug.cgi?id=85
|
||||
Patch4: jna-3.0.4-callbacks-methodname.patch
|
||||
# https://jna.dev.java.net/issues/show_bug.cgi?id=86
|
||||
Patch5: jna-3.0.4-structure-reason.patch
|
||||
# https://jna.dev.java.net/issues/show_bug.cgi?id=87
|
||||
Patch6: jna-3.0.4-structure-handle-null.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
BuildRequires: java-devel >= 1.6 ant jpackage-utils ant-nodeps
|
||||
@ -53,6 +57,8 @@ sed -e 's|@JNIPATH@|%{_libdir}/%{name}|' %{PATCH1} | patch -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
|
||||
# all java binaries must be removed from the sources
|
||||
find . -name '*.jar' -exec rm -f '{}' \;
|
||||
@ -109,6 +115,9 @@ rm -rf %{buildroot}
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Sep 06 2008 Colin Walters <walters@redhat.com> - 3.0.4-3.svn630
|
||||
- A few more patches for JGIR
|
||||
|
||||
* Thu Sep 04 2008 Colin Walters <walters@redhat.com> - 3.0.4-2.svn630
|
||||
- Add two (sent upstream) patches that I need for JGIR
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user