You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2024/06/21 12:03:06 UTC

(causeway) branch master updated: CAUSEWAY-3792: fixes internal 'long' parsing

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/causeway.git


The following commit(s) were added to refs/heads/master by this push:
     new 29083f4252 CAUSEWAY-3792: fixes internal 'long' parsing
29083f4252 is described below

commit 29083f4252f6be52c99d48d6d14ce7cfc43d33a7
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Jun 21 14:03:02 2024 +0200

    CAUSEWAY-3792: fixes internal 'long' parsing
---
 .../causeway/commons/internal/primitives/_Longs.java   | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/commons/src/main/java/org/apache/causeway/commons/internal/primitives/_Longs.java b/commons/src/main/java/org/apache/causeway/commons/internal/primitives/_Longs.java
index b37707d2f8..a1753d9761 100644
--- a/commons/src/main/java/org/apache/causeway/commons/internal/primitives/_Longs.java
+++ b/commons/src/main/java/org/apache/causeway/commons/internal/primitives/_Longs.java
@@ -173,16 +173,16 @@ public class _Longs {
 
         if (s == null) {
             onFailure.accept("null");
-            OptionalLong.empty();
+            return OptionalLong.empty();
         }
 
         if (radix < Character.MIN_RADIX) {
             onFailure.accept("radix " + radix + " less than Character.MIN_RADIX");
-            OptionalLong.empty();
+            return OptionalLong.empty();
         }
         if (radix > Character.MAX_RADIX) {
             onFailure.accept("radix " + radix + " greater than Character.MAX_RADIX");
-            OptionalLong.empty();
+            return OptionalLong.empty();
         }
 
         long result = 0;
@@ -200,11 +200,11 @@ public class _Longs {
                     limit = Long.MIN_VALUE;
                 } else if (firstChar != '+') {
                     onFailure.accept(s);
-                    OptionalLong.empty();
+                    return OptionalLong.empty();
                 }
                 if (len == 1) {// Cannot have lone "+" or "-"
                     onFailure.accept(s);
-                    OptionalLong.empty();
+                    return OptionalLong.empty();
                 }
                 i++;
             }
@@ -214,22 +214,22 @@ public class _Longs {
                 digit = Character.digit(s.charAt(i++),radix);
                 if (digit < 0) {
                     onFailure.accept(s);
-                    OptionalLong.empty();
+                    return OptionalLong.empty();
                 }
                 if (result < multmin) {
                     onFailure.accept(s);
-                    OptionalLong.empty();
+                    return OptionalLong.empty();
                 }
                 result *= radix;
                 if (result < limit + digit) {
                     onFailure.accept(s);
-                    OptionalLong.empty();
+                    return OptionalLong.empty();
                 }
                 result -= digit;
             }
         } else {
             onFailure.accept(s);
-            OptionalLong.empty();
+            return OptionalLong.empty();
         }
         return OptionalLong.of(negative ? result : -result);
     }