arraybuffer 0.0.6 → 0.0.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 517c77a2de7cbcd60febb5217cd77f8b249848c7947519a50f9a63fb291713a4
4
- data.tar.gz: 56cfdbea1a7222001ebd918d7e8e10674837b51621d490de97d104b059ee8301
3
+ metadata.gz: a052426f4fef84b44cafc3c99a53b33313f1732419710c41d5101cfc062d7f3c
4
+ data.tar.gz: '0269d413e2d78f96e310c50d3ad9d9bcc81c2289acf8f80d2f819adc5c4d9653'
5
5
  SHA512:
6
- metadata.gz: bae4c20202057631b3f554adecee91ade37f2d7f12de3cb88dc03405c321be5f79fac4931f6642af74d73e38dd2cab35857cc826eb2e45d6f9275ad3621c3213
7
- data.tar.gz: a6955800866b293dfd7fbcd55b56b936876124081044e14024fe9f21b2ccbec0193a77c435f11ab0b5133fa2ba86de267f0f024a1cb00e22f93ad664c87cc746
6
+ metadata.gz: 36d9f193e7b56cad4cc5b08c7e1569872c3987b3eed51235fd834f838b72e541e416327ef5274cbeddbc68d3722d14578e6f33e934e4ae8af0864b9b4375d326
7
+ data.tar.gz: 60995a4af7efe4ac38c05c099de41ada09c8368106aac51cb2f1059b66104d54cf5d7a2d1f01fefab3429d1710a8faf867daa0c63d2ec24d50af5030dfac762e
@@ -13,7 +13,7 @@ extern VALUE cArrayBuffer;
13
13
  struct LLC_ArrayBuffer *bb = (struct LLC_ArrayBuffer*)rb_data_object_get((self))
14
14
 
15
15
  #define CHECKBOUNDS(bb, idx) \
16
- if (!(bb)->ptr || (idx) < 0 || (idx) >= (bb)->size) { \
16
+ if (!(bb)->ptr || (idx) < 0 || (unsigned int)(idx) >= (bb)->size) { \
17
17
  rb_raise(rb_eArgError, "Index out of bounds: %d", (idx)); \
18
18
  }
19
19
 
@@ -62,7 +62,7 @@ t_bb_allocator(VALUE klass) {
62
62
  struct LLC_ArrayBuffer *bb = (struct LLC_ArrayBuffer*)xmalloc(sizeof(struct LLC_ArrayBuffer));
63
63
  bb->ptr = NULL;
64
64
  bb->size = 0;
65
- bb->backing_str = NULL;
65
+ bb->backing_str = 0;
66
66
 
67
67
  return Data_Wrap_Struct(klass, t_bb_gc_mark, t_bb_free, bb);
68
68
  }
@@ -71,12 +71,12 @@ t_bb_allocator(VALUE klass) {
71
71
  // Ruby 3.1 and later
72
72
 
73
73
  #define BB_BACKING_PTR(bb) \
74
- (FL_TEST((bb)->backing_str, RSTRING_NOEMBED) ? RSTRING((bb)->backing_str)->as.heap.ptr : &RSTRING(bb->backing_str)->as.embed.ary)
74
+ (FL_TEST((bb)->backing_str, RSTRING_NOEMBED) ? RSTRING((bb)->backing_str)->as.heap.ptr : RSTRING(bb->backing_str)->as.embed.ary)
75
75
  #else
76
76
  // Before ruby 3.1
77
77
 
78
78
  #define BB_BACKING_PTR(bb) \
79
- (FL_TEST((bb)->backing_str, RSTRING_NOEMBED) ? RSTRING((bb)->backing_str)->as.heap.ptr : &RSTRING(bb->backing_str)->as.ary)
79
+ (FL_TEST((bb)->backing_str, RSTRING_NOEMBED) ? RSTRING((bb)->backing_str)->as.heap.ptr : RSTRING(bb->backing_str)->as.ary)
80
80
  #endif
81
81
 
82
82
  static void
@@ -87,7 +87,7 @@ t_bb_reassign_ptr(struct LLC_ArrayBuffer *bb) {
87
87
  }
88
88
 
89
89
  rb_str_set_len(bb->backing_str, bb->size);
90
- bb->ptr = BB_BACKING_PTR(bb);
90
+ bb->ptr = (unsigned char*)BB_BACKING_PTR(bb);
91
91
  bb->ptr[bb->size] = 0;
92
92
  }
93
93
 
@@ -139,7 +139,7 @@ t_bb_each(VALUE self) {
139
139
  DECLAREBB(self);
140
140
 
141
141
  if (rb_block_given_p()) {
142
- for (int i = 0; i < bb->size; i++) {
142
+ for (unsigned int i = 0; i < bb->size; i++) {
143
143
  unsigned int val = (unsigned int)bb->ptr[i];
144
144
  rb_yield(UINT2NUM(val));
145
145
  }
@@ -131,8 +131,8 @@ t_dv_initialize(int argc, VALUE *argv, VALUE self) {
131
131
  if (offset_val < 0)
132
132
  rb_raise(rb_eArgError, "calculated offset is negative: %d", offset_val);
133
133
 
134
- dv->offset = (unsigned long)offset_val;
135
- dv->size = (unsigned long)size_val;
134
+ dv->offset = (unsigned int)offset_val;
135
+ dv->size = (unsigned int)size_val;
136
136
  dv->bb_obj = bb_obj;
137
137
 
138
138
  if (!keyword_ids[0]) {
@@ -214,7 +214,7 @@ t_dv_setoffset(VALUE self, VALUE offset) {
214
214
  if (offset_val < 0)
215
215
  rb_raise(rb_eArgError, "calculated offset is negative: %d", offset_val);
216
216
 
217
- dv->offset = (unsigned long)offset_val;
217
+ dv->offset = (unsigned int)offset_val;
218
218
  return self;
219
219
  }
220
220
 
@@ -237,13 +237,13 @@ t_dv_setsize(VALUE self, VALUE size) {
237
237
  if (size_val < 0)
238
238
  rb_raise(rb_eArgError, "calculated size is negative: %d", size_val);
239
239
 
240
- dv->size = (unsigned long)size_val;
240
+ dv->size = (unsigned int)size_val;
241
241
  return self;
242
242
  }
243
243
 
244
244
  #define DECLARENCHECKIDX(index) int idx = NUM2INT(index); \
245
245
  if (idx < 0) idx += (int)dv->size; \
246
- if (idx < 0 || idx >= dv->size) rb_raise(rb_eArgError, "index out of bounds: %d", idx);
246
+ if (idx < 0 || idx >= (int)dv->size) rb_raise(rb_eArgError, "index out of bounds: %d", idx);
247
247
 
248
248
  #define CHECKBOUNDSBB(v) if ((v) < 0 || (v) >= (bb)->size) \
249
249
  rb_raise(rb_eArgError, "index out of underlying buffer bounds: %d", (v));
@@ -263,7 +263,7 @@ t_dv_getbit(VALUE self, VALUE index) {
263
263
  int idx = NUM2INT(index);
264
264
  if (idx < 0)
265
265
  idx += (int)dv->size * 8;
266
- if (idx < 0 || idx >= dv->size * 8)
266
+ if (idx < 0 || idx >= (int)dv->size * 8)
267
267
  rb_raise(rb_eArgError, "index out of bounds: %d", idx);
268
268
 
269
269
  unsigned int bit_idx = ((unsigned int)idx) & 7;
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arraybuffer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - André Diego Piske
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-11 00:00:00.000000000 Z
11
+ date: 2024-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -68,14 +68,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
68
68
  requirements:
69
69
  - - ">="
70
70
  - !ruby/object:Gem::Version
71
- version: '2.1'
71
+ version: '3.0'
72
72
  required_rubygems_version: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  requirements: []
78
- rubygems_version: 3.3.11
78
+ rubygems_version: 3.5.22
79
79
  signing_key:
80
80
  specification_version: 4
81
81
  summary: An array buffer (a.k.a. byte array) implementation forRuby, implemented natively.