Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37766973
en ru br
ALT Linux repos
S:2.1.8-alt1_12jpp11

Group :: System/Libraries
RPM: jnr-ffi

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: 0001-Convert-int-to-boolean-like-C-does-nonzero-is-true.patch
Download


From 759d6bddb616278a13713376c4ed82422e655892 Mon Sep 17 00:00:00 2001
From: Charles Oliver Nutter <headius@headius.com>
Date: Tue, 21 Apr 2020 16:19:37 -0500
Subject: [PATCH] Convert int to boolean like C does (nonzero is true)
Fixes #200
---
 src/main/java/jnr/ffi/provider/jffi/NumberUtil.java | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/main/java/jnr/ffi/provider/jffi/NumberUtil.java b/src/main/java/jnr/ffi/provider/jffi/NumberUtil.java
index 3ca02c5..89bdb8f 100644
--- a/src/main/java/jnr/ffi/provider/jffi/NumberUtil.java
+++ b/src/main/java/jnr/ffi/provider/jffi/NumberUtil.java
@@ -158,9 +158,10 @@ public final class NumberUtil {
                     mv.i2c();
 
                 } else if (boolean.class == to) {
-                    // Ensure only 0x0 and 0x1 values are used for boolean
-                    mv.iconst_1();
-                    mv.iand();
+                    // allow all non-zero values to be treated as true
+                    mv.i2l();
+                    mv.lconst_0();
+                    mv.lcmp();
                 }
             }
         }
-- 
2.26.2
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin