rjb 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +4 -0
  3. data/ext/rjb.c +8 -8
  4. data/test/test.rb +1 -1
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7d6d253c1e5df6889eb04285aeaff937351317c9
4
- data.tar.gz: b4bb1f5f967729a3b0571656346311ca0f2eb895
3
+ metadata.gz: a8d2fe4f37eb369c29fc25f688dbf8623142a59d
4
+ data.tar.gz: 0cbd8d8975cbd3292ea1b02e287950412f14bf8f
5
5
  SHA512:
6
- metadata.gz: 1d27f2f4b4bad8f7f6e5da58c2fc723d95281043232f285e7946e2684fbd701f986b7ce50187ce467452f7cdc41a2c51b9ec3229ab66ef3fd83d3734463da092
7
- data.tar.gz: fe5118788283e6615c6ba533414cb246988b8686e17474b571bdaccbf36494803084ca7fe3fafe303d67d8703869dc24d998a2dc1e24dae3c2a21e9c123acc8d
6
+ metadata.gz: 0064fb940021e09cd18a5154096eb9abb64ec191b30f1aefccacf57b72a2dd2d8a1d211e99f841235c8bf63173b11fa4f11b2511bb2497f8f0ba5ac7dd543d68
7
+ data.tar.gz: 6dfc1a8cbc9d11bc9e310186fb5340f3e2b68bcceccd7bf7b1c84a36abdcdd4904f5548fff298acf9e689593b9dcb15b614de50ea3393cd05b07cc5930551405
data/ChangeLog CHANGED
@@ -1,3 +1,7 @@
1
+ Tue Sep 23 2014 arton
2
+ *ext/rjb.c
3
+ RJB_VERSION -> 1.5.1
4
+ more weight for array and true/false
1
5
  Sat Sep 20 2014 arton
2
6
  *ext/rjb.c
3
7
  RJB_VERSION -> 1.5.0
data/ext/rjb.c CHANGED
@@ -15,7 +15,7 @@
15
15
  * $Id: rjb.c 199 2012-12-17 13:31:18Z arton $
16
16
  */
17
17
 
18
- #define RJB_VERSION "1.5.0"
18
+ #define RJB_VERSION "1.5.1"
19
19
 
20
20
  #include "ruby.h"
21
21
  #include "extconf.h"
@@ -2131,7 +2131,7 @@ static VALUE register_instance(JNIEnv* jenv, VALUE klass, struct jv_data* org, j
2131
2131
  * temporary signature check
2132
2132
  * return !0 if found
2133
2133
  */
2134
- #define NOTFOUND 0
2134
+ #define UNMATCHED 0
2135
2135
  #define SATISFIED 1
2136
2136
  #define SOSO 2
2137
2137
  #define PREFERABLE 3
@@ -2162,7 +2162,7 @@ static int check_rtype(JNIEnv* jenv, VALUE* pv, char* p)
2162
2162
  case T_FLOAT:
2163
2163
  if (*p == 'D') return SOSO;
2164
2164
  if (*p == 'F') return SATISFIED;
2165
- return NOTFOUND;
2165
+ return UNMATCHED;
2166
2166
  case T_STRING:
2167
2167
  if (pcls && (!strcmp("java.lang.String", pcls)
2168
2168
  || !strcmp("java.lang.CharSequence", pcls)))
@@ -2173,12 +2173,12 @@ static int check_rtype(JNIEnv* jenv, VALUE* pv, char* p)
2173
2173
  {
2174
2174
  return SATISFIED;
2175
2175
  }
2176
- return NOTFOUND;
2176
+ return UNMATCHED;
2177
2177
  case T_TRUE:
2178
2178
  case T_FALSE:
2179
- return *p == 'Z';
2179
+ return (*p == 'Z') ? SOSO : UNMATCHED;
2180
2180
  case T_ARRAY:
2181
- return *p == '[';
2181
+ return (*p == '[') ? SOSO : UNMATCHED;
2182
2182
  case T_DATA:
2183
2183
  if (IS_RJB_OBJECT(*pv) && pcls)
2184
2184
  {
@@ -2194,7 +2194,7 @@ static int check_rtype(JNIEnv* jenv, VALUE* pv, char* p)
2194
2194
  result = (cls && (*jenv)->IsInstanceOf(jenv, ptr->obj, cls));
2195
2195
  (*jenv)->DeleteLocalRef(jenv, cls);
2196
2196
  }
2197
- return (result) ? PREFERABLE : NOTFOUND;
2197
+ return (result) ? PREFERABLE : UNMATCHED;
2198
2198
  } else if (pcls) {
2199
2199
  VALUE blockobj = rb_class_new_instance(1, pv, rjba);
2200
2200
  *pv = rjb_s_bind(rjbb, blockobj, rb_str_new2(pcls));
@@ -2207,7 +2207,7 @@ static int check_rtype(JNIEnv* jenv, VALUE* pv, char* p)
2207
2207
  {
2208
2208
  return SATISFIED;
2209
2209
  }
2210
- return NOTFOUND;
2210
+ return UNMATCHED;
2211
2211
  }
2212
2212
  }
2213
2213
 
@@ -907,7 +907,7 @@ class TestRjb < Test::Unit::TestCase
907
907
  e = @jString.new("\xb4\xc1\xbb\xfa\xa5\xc6\xa5\xad\xa5\xb9\xa5\xc8".force_encoding Encoding::EUC_JP)
908
908
  u = @jString.new("\xE6\xBC\xA2\xE5\xAD\x97\xE3\x83\x86\xE3\x82\xAD\xE3\x82\xB9\xE3\x83\x88".force_encoding Encoding::UTF_8)
909
909
  if encoding == 'MS932'
910
- s1 = @jString.new("\x8a\xbf\x8e\x9a\x83\x65\x83\x4c\x83\x58\x83\x67".bytes)
910
+ s1 = @jString.new_with_sig('[B', "\x8a\xbf\x8e\x9a\x83\x65\x83\x4c\x83\x58\x83\x67".bytes)
911
911
  elsif encoding.upcase == 'EUC-JP'
912
912
  s1 = @jString.new("\xb4\xc1\xbb\xfa\xa5\xc6\xa5\xad\xa5\xb9\xa5\xc8".bytes)
913
913
  elsif encoding.upcase == 'UTF-8'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rjb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - arton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-20 00:00:00.000000000 Z
11
+ date: 2014-09-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |
14
14
  RJB is a bridge program that connect between Ruby and Java with Java Native Interface.