From 9ebd4dabf20e577c8819c92edd20b30105dd957c Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky <pfalcon@users.sourceforge.net>
Date: Thu, 22 Oct 2015 01:34:03 +0300
Subject: [PATCH] unix/modjni: Don't pass Java object to a method which doesn't
 expect it.

For example, don't pass Integer to double method. This is still not
selective enough to choose the right overloaded method maong those
taking objects.
---
 unix/modjni.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/unix/modjni.c b/unix/modjni.c
index 808930fd3..eeed389ba 100644
--- a/unix/modjni.c
+++ b/unix/modjni.c
@@ -362,9 +362,19 @@ STATIC bool py2jvalue(const char **jtypesig, mp_obj_t arg, jvalue *out) {
         }
     } else if (type == &jobject_type) {
         printf("TODO: Check java arg type!!\n");
-        while (isalpha(*arg_type) || *arg_type == '.') {
+        bool is_object = false;
+        while (1) {
+            if (isalpha(*arg_type)) {
+            } else if (*arg_type == '.') {
+                is_object = true;
+            } else {
+                break;
+            }
             arg_type++;
         }
+        if (!is_object) {
+            return false;
+        }
         mp_obj_jobject_t *jo = arg;
         out->l = jo->obj;
     } else if (type == &mp_type_bool) {
-- 
GitLab