oj 3.13.1 → 3.13.2

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: a72c9edbd99e2e73392b5f0f5d19bee2e00187e7b999822c5c9a9086c25cc8a3
4
- data.tar.gz: 7be23afd3d15f172d845ab1f852a134fe2c9d3700a197fc14ba75dd7423a4a59
3
+ metadata.gz: 6371eea98925c8d16b816b991404d643051c566f3d36e2c4cf2c69cd29ffd816
4
+ data.tar.gz: 9373b88d98493ddf677e5f72fd1a16f155f5a9c773f007452b1e5810c586e057
5
5
  SHA512:
6
- metadata.gz: e6d92e4bff747161aa6da5619d5ece4faad452d7fd737f4c973e52808641973cbc6d56c684395f99947f222bcfc4797524d93e4f35ef55748770a32ba73d9c44
7
- data.tar.gz: 9780a00f4baef37702a0ddda2e9b8c56475c69286295fdaafad6643e70825cfe8f8a69bb3dfb74791e5cc9685b6bacccb48ec23dfc250c698a19dadea19c9b71
6
+ metadata.gz: bb0fb2e41354e3f96804aa2d74f546e87f2df9076b1e3ec3815b271b0cf4b84ac4dc3ed6d49f59a11cb845c3675de84b4ac8a3b27dc3f80fd310f196437a34b4
7
+ data.tar.gz: ca2efef1c0e3f1e3fb36c7bf0ba5fdffcc596680f2d28923efd8a8cd7cf472178a364a3a93370f5bbefb404e9d0b338754905ed9eb4183eaa9fe0061af41bc93
data/README.md CHANGED
@@ -53,7 +53,7 @@ For more details on options, modes, advanced features, and more follow these
53
53
  links.
54
54
 
55
55
  - [{file:Options.md}](pages/Options.md) for parse and dump options.
56
- - [{file:Modes.md}](pages/Modes.md) for details on modes for strict JSON compliance, mimicing the JSON gem, and mimicing Rails and ActiveSupport behavior.
56
+ - [{file:Modes.md}](pages/Modes.md) for details on modes for strict JSON compliance, mimicking the JSON gem, and mimicking Rails and ActiveSupport behavior.
57
57
  - [{file:JsonGem.md}](pages/JsonGem.md) includes more details on json gem compatibility and use.
58
58
  - [{file:Rails.md}](pages/Rails.md) includes more details on Rails and ActiveSupport compatibility and use.
59
59
  - [{file:Custom.md}](pages/Custom.md) includes more details on Custom mode.
data/ext/oj/cache.c CHANGED
@@ -98,31 +98,30 @@ Cache cache_create(size_t size, VALUE (*form)(const char *str, size_t len), bool
98
98
  memset(c->slots, 0, sizeof(Slot) * c->size);
99
99
  c->form = form;
100
100
  c->cnt = 0;
101
- c->mark = mark;
101
+ c->mark = mark;
102
102
 
103
103
  return c;
104
104
  }
105
105
 
106
106
  static void rehash(Cache c) {
107
107
  uint32_t osize = c->size;
108
+ Slot * end = c->slots + osize;
109
+ Slot * sp;
108
110
 
109
111
  c->size = osize * 4;
110
112
  c->mask = c->size - 1;
111
113
  REALLOC_N(c->slots, Slot, c->size);
112
114
  memset(c->slots + osize, 0, sizeof(Slot) * osize * 3);
113
-
114
- Slot *end = c->slots + osize;
115
- for (Slot *sp = c->slots; sp < end; sp++) {
115
+ for (sp = c->slots; sp < end; sp++) {
116
116
  Slot s = *sp;
117
117
  Slot next = NULL;
118
118
 
119
119
  *sp = NULL;
120
120
  for (; NULL != s; s = next) {
121
- next = s->next;
122
-
123
121
  uint32_t h = s->hash & c->mask;
124
122
  Slot * bucket = c->slots + h;
125
123
 
124
+ next = s->next;
126
125
  s->next = *bucket;
127
126
  *bucket = s;
128
127
  }
@@ -130,9 +129,13 @@ static void rehash(Cache c) {
130
129
  }
131
130
 
132
131
  void cache_free(Cache c) {
133
- for (uint32_t i = 0; i < c->size; i++) {
132
+ uint32_t i;
133
+
134
+ for (i = 0; i < c->size; i++) {
134
135
  Slot next;
135
- for (Slot s = c->slots[i]; NULL != s; s = next) {
136
+ Slot s;
137
+
138
+ for (s = c->slots[i]; NULL != s; s = next) {
136
139
  next = s->next;
137
140
  xfree(s);
138
141
  }
@@ -143,9 +146,12 @@ void cache_free(Cache c) {
143
146
 
144
147
  void cache_mark(Cache c) {
145
148
  if (c->mark) {
146
- for (uint32_t i = 0; i < c->size; i++) {
147
- for (Slot s = c->slots[i]; NULL != s; s = s->next) {
148
- rb_gc_mark(s->val);
149
+ uint32_t i;
150
+
151
+ for (i = 0; i < c->size; i++) {
152
+ Slot s;
153
+ for (s = c->slots[i]; NULL != s; s = s->next) {
154
+ rb_gc_mark(s->val);
149
155
  }
150
156
  }
151
157
  }
data/ext/oj/custom.c CHANGED
@@ -1032,7 +1032,7 @@ static void hash_set_num(struct _parseInfo *pi, Val kval, NumInfo ni) {
1032
1032
  }
1033
1033
  if (86400 == ni->exp) { // UTC time
1034
1034
  parent->val = rb_time_nano_new(ni->i, (long)nsec);
1035
- // Since the ruby C routines alway create local time, the
1035
+ // Since the ruby C routines always create local time, the
1036
1036
  // offset and then a conversion to UTC keeps makes the time
1037
1037
  // match the expected value.
1038
1038
  parent->val = rb_funcall2(parent->val, oj_utc_id, 0, 0);
data/ext/oj/debug.c CHANGED
@@ -109,8 +109,9 @@ static void mark(struct _ojParser *p) {
109
109
 
110
110
  void oj_set_parser_debug(ojParser p) {
111
111
  Funcs end = p->funcs + 3;
112
+ Funcs f;
112
113
 
113
- for (Funcs f = p->funcs; f < end; f++) {
114
+ for (f = p->funcs; f < end; f++) {
114
115
  f->add_null = add_null;
115
116
  f->add_true = add_true;
116
117
  f->add_false = add_false;
data/ext/oj/fast.c CHANGED
@@ -1472,7 +1472,7 @@ static VALUE doc_move(VALUE self, VALUE str) {
1472
1472
  * to the block on yield is the Doc instance after moving to the child
1473
1473
  * location.
1474
1474
  * @param [String] path if provided it identified the top of the branch to
1475
- * process the chilren of
1475
+ * process the children of
1476
1476
  * @yieldparam [Doc] Doc at the child location
1477
1477
  * @example
1478
1478
  * Oj::Doc.open('[3,[2,1]]') { |doc|
data/ext/oj/object.c CHANGED
@@ -301,7 +301,7 @@ static int hat_num(ParseInfo pi, Val parent, Val kval, NumInfo ni) {
301
301
  }
302
302
  if (86400 == ni->exp) { // UTC time
303
303
  parent->val = rb_time_nano_new(ni->i, (long)nsec);
304
- // Since the ruby C routines alway create local time, the
304
+ // Since the ruby C routines always create local time, the
305
305
  // offset and then a conversion to UTC keeps makes the time
306
306
  // match the expected value.
307
307
  parent->val = rb_funcall2(parent->val, oj_utc_id, 0, 0);
data/ext/oj/oj.c CHANGED
@@ -509,7 +509,7 @@ static VALUE get_def_opts(VALUE self) {
509
509
  * Sets the default options for load and dump.
510
510
  * - *opts* [_Hash_] options to change
511
511
  * - *:indent* [_Fixnum_|_String_|_nil_] number of spaces to indent each element in a JSON
512
- *document or the String to use for identation.
512
+ *document or the String to use for indentation.
513
513
  * - :circular [_Boolean_|_nil_] support circular references while dumping.
514
514
  * - *:auto_define* [_Boolean_|_nil_] automatically define classes if they do not exist.
515
515
  * - *:symbol_keys* [_Boolean_|_nil_] convert hash keys to symbols.
@@ -1398,7 +1398,7 @@ static VALUE to_json(int argc, VALUE *argv, VALUE self) {
1398
1398
  * Dumps an Object to the specified file.
1399
1399
  * - *file* [_String_] _path file path to write the JSON document to
1400
1400
  * - *obj* [_Object_] Object to serialize as an JSON document String
1401
- * - *options* [_Hash_] formating options
1401
+ * - *options* [_Hash_] formatting options
1402
1402
  * - *:indent* [_Fixnum_] format expected
1403
1403
  * - *:circular* [_Boolean_] allow circular references, default: false
1404
1404
  */
@@ -1420,7 +1420,7 @@ static VALUE to_file(int argc, VALUE *argv, VALUE self) {
1420
1420
  * Dumps an Object to the specified IO stream.
1421
1421
  * - *io* [_IO_] IO stream to write the JSON document to
1422
1422
  * - *obj* [_Object_] Object to serialize as an JSON document String
1423
- * - *options* [_Hash_] formating options
1423
+ * - *options* [_Hash_] formatting options
1424
1424
  * - *:indent* [_Fixnum_] format expected
1425
1425
  * - *:circular* [_Boolean_] allow circular references, default: false
1426
1426
  */
data/ext/oj/parse.c CHANGED
@@ -489,7 +489,7 @@ static void read_num(ParseInfo pi) {
489
489
  if ('.' == *pi->cur) {
490
490
  pi->cur++;
491
491
  // A trailing . is not a valid decimal but if encountered allow it
492
- // except when mimicing the JSON gem or in strict mode.
492
+ // except when mimicking the JSON gem or in strict mode.
493
493
  if (StrictMode == pi->options.mode || CompatMode == pi->options.mode) {
494
494
  int pos = (int)(pi->cur - ni.str);
495
495
 
data/ext/oj/parser.c CHANGED
@@ -622,14 +622,14 @@ static void big_change(ojParser p) {
622
622
  buf_append_string(&p->buf, buf + len + 1, sizeof(buf) - len - 1);
623
623
  if (0 < p->num.exp) {
624
624
  int x = p->num.exp;
625
- int d;
625
+ int d, div;
626
626
  bool started = false;
627
627
 
628
628
  buf_append(&p->buf, 'e');
629
629
  if (0 < p->num.exp_neg) {
630
630
  buf_append(&p->buf, '-');
631
631
  }
632
- for (int div = 1000; 0 < div; div /= 10) {
632
+ for (div = 1000; 0 < div; div /= 10) {
633
633
  d = x / div % 10;
634
634
  if (started || 0 < d) {
635
635
  buf_append(&p->buf, '0' + d);
@@ -646,6 +646,7 @@ static void big_change(ojParser p) {
646
646
  static void parse(ojParser p, const byte *json) {
647
647
  const byte *start;
648
648
  const byte *b = json;
649
+ int i;
649
650
 
650
651
  #if DEBUG
651
652
  printf("*** parse - mode: %c %s\n", p->map[256], (const char *)json);
@@ -1015,7 +1016,7 @@ static void parse(ojParser p, const byte *json) {
1015
1016
  }
1016
1017
  p->ri = 0;
1017
1018
  *p->token = *b++;
1018
- for (int i = 1; i < 4; i++) {
1019
+ for (i = 1; i < 4; i++) {
1019
1020
  if ('\0' == *b) {
1020
1021
  p->ri = i;
1021
1022
  break;
@@ -1040,7 +1041,7 @@ static void parse(ojParser p, const byte *json) {
1040
1041
  }
1041
1042
  p->ri = 0;
1042
1043
  *p->token = *b++;
1043
- for (int i = 1; i < 4; i++) {
1044
+ for (i = 1; i < 4; i++) {
1044
1045
  if ('\0' == *b) {
1045
1046
  p->ri = i;
1046
1047
  break;
@@ -1065,7 +1066,7 @@ static void parse(ojParser p, const byte *json) {
1065
1066
  }
1066
1067
  p->ri = 0;
1067
1068
  *p->token = *b++;
1068
- for (int i = 1; i < 5; i++) {
1069
+ for (i = 1; i < 5; i++) {
1069
1070
  if ('\0' == *b) {
1070
1071
  p->ri = i;
1071
1072
  break;
data/ext/oj/rxclass.c CHANGED
@@ -110,7 +110,7 @@ oj_rxclass_match(RxClass rc, const char *str, int len) {
110
110
  }
111
111
  } else if (len < (int)sizeof(buf)) {
112
112
  #if !IS_WINDOWS
113
- // string is not \0 terminated so copy and atempt a match
113
+ // string is not \0 terminated so copy and attempt a match
114
114
  memcpy(buf, str, len);
115
115
  buf[len] = '\0';
116
116
  if (0 == regexec(&rxc->rx, buf, 0, NULL, 0)) { // match
data/ext/oj/saj.c CHANGED
@@ -628,7 +628,7 @@ static void saj_parse(VALUE handler, char *json) {
628
628
  * @param [IO|String] io IO Object to read from
629
629
  * @deprecated The sc_parse() method along with the ScHandler is the preferred
630
630
  * callback parser. It is slightly faster and handles streams while the
631
- * saj_parse() methos requires a complete read before parsing.
631
+ * saj_parse() method requires a complete read before parsing.
632
632
  * @see sc_parse
633
633
  */
634
634
  VALUE
data/ext/oj/saj2.c CHANGED
@@ -182,8 +182,9 @@ static void add_str_key(ojParser p) {
182
182
 
183
183
  static void reset(ojParser p) {
184
184
  Funcs end = p->funcs + 3;
185
+ Funcs f;
185
186
 
186
- for (Funcs f = p->funcs; f < end; f++) {
187
+ for (f = p->funcs; f < end; f++) {
187
188
  f->add_null = noop;
188
189
  f->add_true = noop;
189
190
  f->add_false = noop;
@@ -312,13 +313,14 @@ static void mark(ojParser p) {
312
313
  return;
313
314
  }
314
315
  Delegate d = (Delegate)p->ctx;
316
+ VALUE *kp;
315
317
 
316
318
  cache_mark(d->str_cache);
317
319
  if (Qnil != d->handler) {
318
320
  rb_gc_mark(d->handler);
319
321
  }
320
322
  if (!d->cache_keys) {
321
- for (VALUE *kp = d->keys; kp < d->tail; kp++) {
323
+ for (kp = d->keys; kp < d->tail; kp++) {
322
324
  rb_gc_mark(*kp);
323
325
  }
324
326
  }
data/ext/oj/sparse.c CHANGED
@@ -494,7 +494,7 @@ static void read_num(ParseInfo pi) {
494
494
  if ('.' == c) {
495
495
  c = reader_get(&pi->rd);
496
496
  // A trailing . is not a valid decimal but if encountered allow it
497
- // except when mimicing the JSON gem.
497
+ // except when mimicking the JSON gem.
498
498
  if (CompatMode == pi->options.mode) {
499
499
  if (c < '0' || '9' < c) {
500
500
  oj_set_error_at(pi, oj_parse_error_class, __FILE__, __LINE__, "not a number");
@@ -67,7 +67,7 @@ static VALUE buffer_size_sym = Qundef;
67
67
  * should be and also a hint on when to flush.
68
68
  *
69
69
  * - *io* [_IO_] stream to write to
70
- * - *options* [_Hash_] formating options
70
+ * - *options* [_Hash_] formatting options
71
71
  */
72
72
  static VALUE stream_writer_new(int argc, VALUE *argv, VALUE self) {
73
73
  StreamWriterType type = STREAM_IO;
@@ -248,7 +248,7 @@ static void str_writer_free(void *ptr) {
248
248
  * should be.
249
249
  *
250
250
  * - *io* [_IO_] stream to write to
251
- * - *options* [_Hash_] formating options
251
+ * - *options* [_Hash_] formatting options
252
252
  */
253
253
  static VALUE str_writer_new(int argc, VALUE *argv, VALUE self) {
254
254
  StrWriter sw = ALLOC(struct _strWriter);
@@ -466,7 +466,7 @@ static VALUE str_writer_as_json(VALUE self) {
466
466
  * by pushing values into the document. Pushing an array or an object will
467
467
  * create that element in the JSON document and subsequent pushes will add the
468
468
  * elements to that array or object until a pop() is called. When complete
469
- * calling to_s() will return the JSON document. Note tha calling to_s() before
469
+ * calling to_s() will return the JSON document. Note that calling to_s() before
470
470
  * construction is complete will return the document in it's current state.
471
471
  */
472
472
  void oj_string_writer_init() {
data/ext/oj/usual.c CHANGED
@@ -323,6 +323,7 @@ static void open_array_key(ojParser p) {
323
323
  }
324
324
 
325
325
  static void close_object(ojParser p) {
326
+ VALUE *vp;
326
327
  Delegate d = (Delegate)p->ctx;
327
328
 
328
329
  d->ctail--;
@@ -333,7 +334,7 @@ static void close_object(ojParser p) {
333
334
  volatile VALUE obj = rb_hash_new();
334
335
 
335
336
  #if HAVE_RB_HASH_BULK_INSERT
336
- for (VALUE *vp = head; kp < d->ktail; kp++, vp += 2) {
337
+ for (vp = head; kp < d->ktail; kp++, vp += 2) {
337
338
  *vp = d->get_key(p, kp);
338
339
  if (sizeof(kp->buf) - 1 < (size_t)kp->len) {
339
340
  xfree(kp->key);
@@ -341,7 +342,7 @@ static void close_object(ojParser p) {
341
342
  }
342
343
  rb_hash_bulk_insert(d->vtail - head, head, obj);
343
344
  #else
344
- for (VALUE *vp = head; kp < d->ktail; kp++, vp += 2) {
345
+ for (vp = head; kp < d->ktail; kp++, vp += 2) {
345
346
  rb_hash_aset(obj, d->get_key(p, kp), *(vp + 1));
346
347
  if (sizeof(kp->buf) - 1 < (size_t)kp->len) {
347
348
  xfree(kp->key);
@@ -355,6 +356,7 @@ static void close_object(ojParser p) {
355
356
  }
356
357
 
357
358
  static void close_object_class(ojParser p) {
359
+ VALUE *vp;
358
360
  Delegate d = (Delegate)p->ctx;
359
361
 
360
362
  d->ctail--;
@@ -364,7 +366,7 @@ static void close_object_class(ojParser p) {
364
366
  VALUE * head = d->vhead + c->vi + 1;
365
367
  volatile VALUE obj = rb_class_new_instance(0, NULL, d->hash_class);
366
368
 
367
- for (VALUE *vp = head; kp < d->ktail; kp++, vp += 2) {
369
+ for (vp = head; kp < d->ktail; kp++, vp += 2) {
368
370
  rb_funcall(obj, hset_id, 2, d->get_key(p, kp), *(vp + 1));
369
371
  if (sizeof(kp->buf) - 1 < (size_t)kp->len) {
370
372
  xfree(kp->key);
@@ -377,6 +379,7 @@ static void close_object_class(ojParser p) {
377
379
  }
378
380
 
379
381
  static void close_object_create(ojParser p) {
382
+ VALUE *vp;
380
383
  Delegate d = (Delegate)p->ctx;
381
384
 
382
385
  d->ctail--;
@@ -391,7 +394,7 @@ static void close_object_create(ojParser p) {
391
394
  if (Qnil == d->hash_class) {
392
395
  obj = rb_hash_new();
393
396
  #if HAVE_RB_HASH_BULK_INSERT
394
- for (VALUE *vp = head; kp < d->ktail; kp++, vp += 2) {
397
+ for (vp = head; kp < d->ktail; kp++, vp += 2) {
395
398
  *vp = d->get_key(p, kp);
396
399
  if (sizeof(kp->buf) - 1 < (size_t)kp->len) {
397
400
  xfree(kp->key);
@@ -399,7 +402,7 @@ static void close_object_create(ojParser p) {
399
402
  }
400
403
  rb_hash_bulk_insert(d->vtail - head, head, obj);
401
404
  #else
402
- for (VALUE *vp = head; kp < d->ktail; kp++, vp += 2) {
405
+ for (vp = head; kp < d->ktail; kp++, vp += 2) {
403
406
  rb_hash_aset(obj, d->get_key(p, kp), *(vp + 1));
404
407
  if (sizeof(kp->buf) - 1 < (size_t)kp->len) {
405
408
  xfree(kp->key);
@@ -408,7 +411,7 @@ static void close_object_create(ojParser p) {
408
411
  #endif
409
412
  } else {
410
413
  obj = rb_class_new_instance(0, NULL, d->hash_class);
411
- for (VALUE *vp = head; kp < d->ktail; kp++, vp += 2) {
414
+ for (vp = head; kp < d->ktail; kp++, vp += 2) {
412
415
  rb_funcall(obj, hset_id, 2, d->get_key(p, kp), *(vp + 1));
413
416
  if (sizeof(kp->buf) - 1 < (size_t)kp->len) {
414
417
  xfree(kp->key);
@@ -423,7 +426,7 @@ static void close_object_create(ojParser p) {
423
426
  volatile VALUE arg = rb_hash_new();
424
427
 
425
428
  #if HAVE_RB_HASH_BULK_INSERT
426
- for (VALUE *vp = head; kp < d->ktail; kp++, vp += 2) {
429
+ for (vp = head; kp < d->ktail; kp++, vp += 2) {
427
430
  *vp = d->get_key(p, kp);
428
431
  if (sizeof(kp->buf) - 1 < (size_t)kp->len) {
429
432
  xfree(kp->key);
@@ -431,7 +434,7 @@ static void close_object_create(ojParser p) {
431
434
  }
432
435
  rb_hash_bulk_insert(d->vtail - head, head, arg);
433
436
  #else
434
- for (VALUE *vp = head; kp < d->ktail; kp++, vp += 2) {
437
+ for (vp = head; kp < d->ktail; kp++, vp += 2) {
435
438
  rb_hash_aset(arg, d->get_key(p, kp), *(vp + 1));
436
439
  if (sizeof(kp->buf) - 1 < (size_t)kp->len) {
437
440
  xfree(kp->key);
@@ -441,7 +444,7 @@ static void close_object_create(ojParser p) {
441
444
  obj = rb_funcall(clas, oj_json_create_id, 1, arg);
442
445
  } else {
443
446
  obj = rb_class_new_instance(0, NULL, clas);
444
- for (VALUE *vp = head; kp < d->ktail; kp++, vp += 2) {
447
+ for (vp = head; kp < d->ktail; kp++, vp += 2) {
445
448
  rb_ivar_set(obj, get_attr_id(p, kp), *(vp + 1));
446
449
  if (sizeof(kp->buf) - 1 < (size_t)kp->len) {
447
450
  xfree(kp->key);
@@ -468,13 +471,14 @@ static void close_array(ojParser p) {
468
471
  }
469
472
 
470
473
  static void close_array_class(ojParser p) {
474
+ VALUE *vp;
471
475
  Delegate d = (Delegate)p->ctx;
472
476
 
473
477
  d->ctail--;
474
478
  VALUE * head = d->vhead + d->ctail->vi + 1;
475
479
  volatile VALUE a = rb_class_new_instance(0, NULL, d->array_class);
476
480
 
477
- for (VALUE *vp = head; vp < d->vtail; vp++) {
481
+ for (vp = head; vp < d->vtail; vp++) {
478
482
  rb_funcall(a, ltlt_id, 1, *vp);
479
483
  }
480
484
  d->vtail = head;
@@ -682,6 +686,7 @@ static void mark(ojParser p) {
682
686
  return;
683
687
  }
684
688
  Delegate d = (Delegate)p->ctx;
689
+ VALUE *vp;
685
690
 
686
691
  if (NULL == d) {
687
692
  return;
@@ -693,7 +698,7 @@ static void mark(ojParser p) {
693
698
  if (NULL != d->class_cache) {
694
699
  cache_mark(d->class_cache);
695
700
  }
696
- for (VALUE *vp = d->vhead; vp < d->vtail; vp++) {
701
+ for (vp = d->vhead; vp < d->vtail; vp++) {
697
702
  if (Qundef != *vp) {
698
703
  rb_gc_mark(*vp);
699
704
  }
@@ -1091,6 +1096,7 @@ static VALUE opt_symbol_keys_set(ojParser p, VALUE value) {
1091
1096
  }
1092
1097
 
1093
1098
  static VALUE option(ojParser p, const char *key, VALUE value) {
1099
+ struct opt *op;
1094
1100
  struct opt opts[] = {
1095
1101
  {.name = "array_class", .func = opt_array_class},
1096
1102
  {.name = "array_class=", .func = opt_array_class_set},
@@ -1119,7 +1125,7 @@ static VALUE option(ojParser p, const char *key, VALUE value) {
1119
1125
  {.name = NULL},
1120
1126
  };
1121
1127
 
1122
- for (struct opt *op = opts; NULL != op->name; op++) {
1128
+ for (op = opts; NULL != op->name; op++) {
1123
1129
  if (0 == strcmp(key, op->name)) {
1124
1130
  return op->func(p, value);
1125
1131
  }
data/ext/oj/validate.c CHANGED
@@ -28,8 +28,9 @@ mark(ojParser p) {
28
28
  void oj_set_parser_validator(ojParser p) {
29
29
  p->ctx = NULL;
30
30
  Funcs end = p->funcs + 3;
31
+ Funcs f;
31
32
 
32
- for (Funcs f = p->funcs; f < end; f++) {
33
+ for (f = p->funcs; f < end; f++) {
33
34
  f->add_null = noop;
34
35
  f->add_true = noop;
35
36
  f->add_false = noop;
data/lib/oj/error.rb CHANGED
@@ -16,7 +16,7 @@ module Oj
16
16
  # An Exception that is raised if a file fails to load.
17
17
  LoadError = Class.new(Error)
18
18
 
19
- # An Exception that is raised if there is a conflict with mimicing JSON
19
+ # An Exception that is raised if there is a conflict with mimicking JSON
20
20
  MimicError = Class.new(Error)
21
21
 
22
22
  end # Oj
data/lib/oj/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
2
  module Oj
3
3
  # Current version of the module.
4
- VERSION = '3.13.1'
4
+ VERSION = '3.13.2'
5
5
  end
data/pages/Options.md CHANGED
@@ -268,7 +268,7 @@ Use symbols instead of strings for hash keys.
268
268
  ### :symbolize_names [Boolean]
269
269
 
270
270
  Like :symbol_keys has keys are made into symbols but only when
271
- mimicing the JSON gem and then only as the JSON gem honors it so
271
+ mimicking the JSON gem and then only as the JSON gem honors it so
272
272
  JSON.parse honors the option but JSON.load does not.
273
273
 
274
274
  ### :trace
data/pages/Parser.md CHANGED
@@ -42,12 +42,12 @@ bleed over to other instances.
42
42
 
43
43
  ## How
44
44
 
45
- It's wonderfull to wish for a faster parser that solves all the
45
+ It's wonderful to wish for a faster parser that solves all the
46
46
  annoyances of the previous parser but how was it done is a much more
47
47
  interesting question to answer.
48
48
 
49
49
  At the core, the API for parsing was changed. Instead of a sinle
50
- global parser any number of parsers can be created and each is seprate
50
+ global parser any number of parsers can be created and each is separate
51
51
  from the others. The parser itself is able to rip through a JSON
52
52
  string, stream, or file and then make calls to a delegate to process
53
53
  the JSON elements according to the delegate behavior. This is similar
@@ -206,7 +206,7 @@ in array creation.
206
206
 
207
207
  For Hash the story is a little different. The bulk insert for Hash
208
208
  alternates keys and values but there is a wrinkle to consider. Since
209
- Ruby Object creation is triggered by the occurance of an element that
209
+ Ruby Object creation is triggered by the occurrence of an element that
210
210
  matches a creation identifier the creation of a collection is not just
211
211
  for Array and Hash but also Object. Setting Object attributes uses an
212
212
  ID and not a VALUE. For that reason the keys should not be created as
data/pages/Rails.md CHANGED
@@ -41,7 +41,7 @@ The globals that ActiveSupport uses for encoding are:
41
41
 
42
42
  Those globals are aliased to also be accessed from the ActiveSupport module
43
43
  directly so `ActiveSupport::JSON::Encoding.time_precision` can also be accessed
44
- from `ActiveSupport.time_precision`. Oj makes use of these globals in mimicing
44
+ from `ActiveSupport.time_precision`. Oj makes use of these globals in mimicking
45
45
  Rails after the `Oj::Rails.set_encode()` method is called. That also sets the
46
46
  `ActiveSupport.json_encoder` to the `Oj::Rails::Encoder` class.
47
47
 
@@ -125,7 +125,7 @@ gem 'oj', '3.7.12'
125
125
  Ruby which is used by the json gem and by Rails. Ruby varies the
126
126
  significant digits which can be either 16 or 17 depending on the value.
127
127
 
128
- 2. Optimized Hashs do not collapse keys that become the same in the output. As
128
+ 2. Optimized Hashes do not collapse keys that become the same in the output. As
129
129
  an example, a non-String object that has a `to_s()` method will become the
130
130
  return value of the `to_s()` method in the output without checking to see if
131
131
  that has already been used. This could occur is a mix of String and Symbols
@@ -113,7 +113,7 @@ EOT
113
113
  end
114
114
 
115
115
  # TBD Implement JSON.state to return state class.
116
- # set state attibutes from defaults
116
+ # set state attributes from defaults
117
117
  # implement methods
118
118
  # circular should use circular in defaults or maybe always set to true, allow changes with [:check_circular]=
119
119
  def test_states
data/test/test_hash.rb CHANGED
@@ -5,7 +5,7 @@ $: << File.dirname(__FILE__)
5
5
 
6
6
  require 'helper'
7
7
 
8
- class Hashi < Minitest::Test
8
+ class HashTest < Minitest::Test
9
9
 
10
10
  module TestModule
11
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oj
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.13.1
4
+ version: 3.13.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Ohler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-09 00:00:00.000000000 Z
11
+ date: 2021-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler