google-protobuf 3.24.0-x64-mingw-ucrt → 3.24.2-x64-mingw-ucrt

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b776eb92376398c46c77c729bc3dc908761cd3ead392115a2e8940229a54ea50
4
- data.tar.gz: 81fc39d32ef08c0b07e11934cce0214135853342ec16b394c69f6584206227ea
3
+ metadata.gz: fb68c22c5f338c897793c11135f3199e4aedc32d38a45557ef5030a3dca2377c
4
+ data.tar.gz: 83640672762253296654f3731d7324c311197ddd49f0bdaea789c02165052bf0
5
5
  SHA512:
6
- metadata.gz: a531c88944c9b56cbfae03aac8c7c4330f341440d82e0c34c8540330a7a48b338c46c40690844456b084827c9d9dcd95e5ba06e108dca254fa1ccc0e88dc3227
7
- data.tar.gz: ebd7c2925631bc20b97f4d207a145c9054446d519f07593c6fd2189855de32031d38fa5dc88ab95f71620a4edf1d4416321150b4ad863786776930035d1a992f
6
+ metadata.gz: f9793f1f5742bc347c941c2d658556bd262d25a40590242505c921b82d9e5be55940a9934d914795ac9303a6492de6f16f064ae8f615d9d1c2ea82d70e3c37e6
7
+ data.tar.gz: ab03f5154834240e1c840111339d6489ebe5f263936e187f3906212658e63fc1c72dabd6305c9f94b1b962a113750119293bd6c4d9dc0e4ee7f36c15714771fd
@@ -276,17 +276,25 @@ static void ObjectCache_Init(VALUE protobuf) {
276
276
  rb_const_set(protobuf, rb_intern("SIZEOF_VALUE"), INT2NUM(SIZEOF_VALUE));
277
277
  }
278
278
 
279
- VALUE ObjectCache_TryAdd(const void *key, VALUE val) {
279
+ static VALUE ObjectCache_GetKey(const void *key) {
280
280
  VALUE key_val = (VALUE)key;
281
281
  PBRUBY_ASSERT((key_val & 3) == 0);
282
- return rb_funcall(weak_obj_cache, item_try_add, 2, LL2NUM(key_val), val);
282
+ // Ensure the key can be stored as a Fixnum since 1 bit is needed for
283
+ // FIXNUM_FLAG and 1 bit is needed for the sign bit.
284
+ VALUE new_key = LL2NUM(key_val >> 2);
285
+ PBRUBY_ASSERT(FIXNUM_P(new_key));
286
+ return new_key;
287
+ }
288
+
289
+ VALUE ObjectCache_TryAdd(const void *key, VALUE val) {
290
+ VALUE key_val = ObjectCache_GetKey(key);
291
+ return rb_funcall(weak_obj_cache, item_try_add, 2, key_val, val);
283
292
  }
284
293
 
285
294
  // Returns the cached object for this key, if any. Otherwise returns Qnil.
286
295
  VALUE ObjectCache_Get(const void *key) {
287
- VALUE key_val = (VALUE)key;
288
- PBRUBY_ASSERT((key_val & 3) == 0);
289
- return rb_funcall(weak_obj_cache, item_get, 1, LL2NUM(key_val));
296
+ VALUE key_val = ObjectCache_GetKey(key);
297
+ return rb_funcall(weak_obj_cache, item_get, 1, key_val);
290
298
  }
291
299
 
292
300
  /*
Binary file
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-protobuf
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.24.0
4
+ version: 3.24.2
5
5
  platform: x64-mingw-ucrt
6
6
  authors:
7
7
  - Protobuf Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-08 00:00:00.000000000 Z
11
+ date: 2023-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler-dock
@@ -109,7 +109,7 @@ homepage: https://developers.google.com/protocol-buffers
109
109
  licenses:
110
110
  - BSD-3-Clause
111
111
  metadata:
112
- source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.24.0/ruby
112
+ source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.24.2/ruby
113
113
  post_install_message:
114
114
  rdoc_options: []
115
115
  require_paths: