berns 3.1.3 → 3.1.4

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: f3f1a44554212d5fc783feab767f7926e7d55d0d12ad23ad876748a547a128c5
4
- data.tar.gz: 93f10d934d9f140d1604dbebbdd380f34997f0531abb5c1f8fe41249a22152df
3
+ metadata.gz: bce7bd3384f01f587a75bd722cca156b4357e0953bd90a5a2c8f97a630deb8db
4
+ data.tar.gz: 2c830eb788274a6d96e3e0a7db0e75826dea451eabecb3444878901d6e1adb08
5
5
  SHA512:
6
- metadata.gz: 459194492b7223b9e27a39f07009644f4b06a1b64cbcfdfc50b40b71ad51fbf2196f97bf1cb0f1212ded8a042b925b45dbfe2d98f61cc1fd0107ac0a432406c8
7
- data.tar.gz: 28dd92ab04e1fa8af37b5b90cc071b1b7f1093b2275fe6e356fe48205d25ae2cbc2fd61e67555aabf60f275d6fdbd14614fc34cf5158aee73e1384c126cf1e45
6
+ metadata.gz: d20138c2bc54ab035eb9d79f1e0ae18065ba422157fa453258acd5d974f08062afee105b50d2d3564b3e4882b4331ec6f93e4da3a3091a1440ad8a74c10f1686
7
+ data.tar.gz: 598843f7a87302d0a59ba53d8e52caf0f864a2e146b473c2d95b50f1da5b11536603f4d9f51f990de385bbaa08fb6e273381672eb823ddda2b0bb614532aef33
data/ext/berns/berns.c CHANGED
@@ -51,7 +51,7 @@ static const size_t sllen = 1;
51
51
  rb_check_arity(argc, 0, 1); \
52
52
  \
53
53
  char *tag = #element_name; \
54
- char *string = void_element(tag, strlen(tag), &argv[0]); \
54
+ char *string = void_element(tag, strlen(tag), argv[0]); \
55
55
  VALUE rstring = rb_utf8_str_new_cstr(string); \
56
56
  free(string); \
57
57
  \
@@ -67,7 +67,7 @@ static const size_t sllen = 1;
67
67
  \
68
68
  CONTENT_FROM_BLOCK; \
69
69
  char *tag = #element_name; \
70
- char *string = element(tag, strlen(tag), RSTRING_PTR(content), RSTRING_LEN(content), &argv[0]); \
70
+ char *string = element(tag, strlen(tag), RSTRING_PTR(content), RSTRING_LEN(content), argv[0]); \
71
71
  VALUE rstring = rb_utf8_str_new_cstr(string); \
72
72
  free(string); \
73
73
  \
@@ -168,21 +168,21 @@ static char * string_value_to_attribute(const char *attr, const size_t attrlen,
168
168
  }
169
169
  }
170
170
 
171
- static char * hash_value_to_attribute(char *attr, const size_t attrlen, VALUE *value) {
172
- if (TYPE(*value) == T_IMEMO) {
171
+ static char * hash_value_to_attribute(char *attr, const size_t attrlen, VALUE value) {
172
+ if (TYPE(value) == T_IMEMO) {
173
173
  return strdup("");
174
174
  }
175
175
 
176
- Check_Type(*value, T_HASH);
176
+ Check_Type(value, T_HASH);
177
177
 
178
- if (rb_hash_size(*value) == 1) {
178
+ if (rb_hash_size(value) == 1) {
179
179
  return strdup("");
180
180
  }
181
181
 
182
182
  VALUE subkey;
183
183
  VALUE subvalue;
184
184
 
185
- const VALUE keys = rb_funcall(*value, rb_intern("keys"), 0);
185
+ const VALUE keys = rb_funcall(value, rb_intern("keys"), 0);
186
186
  const VALUE length = RARRAY_LEN(keys);
187
187
 
188
188
  size_t allocated = 256;
@@ -194,7 +194,7 @@ static char * hash_value_to_attribute(char *attr, const size_t attrlen, VALUE *v
194
194
 
195
195
  for (unsigned int i = 0; i < length; i++) {
196
196
  subkey = rb_ary_entry(keys, i);
197
- subvalue = rb_hash_aref(*value, subkey);
197
+ subvalue = rb_hash_aref(value, subkey);
198
198
 
199
199
  switch(TYPE(subkey)) {
200
200
  case T_STRING:
@@ -243,6 +243,8 @@ static char * hash_value_to_attribute(char *attr, const size_t attrlen, VALUE *v
243
243
  combined = strdup("");
244
244
  break;
245
245
 
246
+ case T_NIL:
247
+ /* Fall through. */
246
248
  case T_TRUE:
247
249
  combined = string_value_to_attribute(subattr, subattr_len, "", 0);
248
250
  break;
@@ -256,13 +258,8 @@ static char * hash_value_to_attribute(char *attr, const size_t attrlen, VALUE *v
256
258
  combined = string_value_to_attribute(subattr, subattr_len, RSTRING_PTR(subvalue), RSTRING_LEN(subvalue));
257
259
  break;
258
260
 
259
- case T_NIL:
260
- subvalue = rb_utf8_str_new_cstr("");
261
- combined = string_value_to_attribute(subattr, subattr_len, RSTRING_PTR(subvalue), RSTRING_LEN(subvalue));
262
- break;
263
-
264
261
  case T_HASH:
265
- combined = hash_value_to_attribute(subattr, subattr_len, &subvalue);
262
+ combined = hash_value_to_attribute(subattr, subattr_len, subvalue);
266
263
  break;
267
264
 
268
265
  default:
@@ -313,7 +310,7 @@ static char * hash_value_to_attribute(char *attr, const size_t attrlen, VALUE *v
313
310
  /*
314
311
  * Convert an attribute name and value into a string.
315
312
  */
316
- static char * to_attribute(VALUE attr, VALUE *value) {
313
+ static char * to_attribute(VALUE attr, VALUE value) {
317
314
  switch(TYPE(attr)) {
318
315
  case T_SYMBOL:
319
316
  attr = rb_sym2str(attr);
@@ -327,7 +324,7 @@ static char * to_attribute(VALUE attr, VALUE *value) {
327
324
  char *val = NULL;
328
325
  VALUE str;
329
326
 
330
- switch(TYPE(*value)) {
327
+ switch(TYPE(value)) {
331
328
  case T_NIL:
332
329
  case T_TRUE:
333
330
  val = empty_value_to_attribute(RSTRING_PTR(attr), RSTRING_LEN(attr));
@@ -339,14 +336,14 @@ static char * to_attribute(VALUE attr, VALUE *value) {
339
336
  val = hash_value_to_attribute(RSTRING_PTR(attr), RSTRING_LEN(attr), value);
340
337
  break;
341
338
  case T_STRING:
342
- val = string_value_to_attribute(RSTRING_PTR(attr), RSTRING_LEN(attr), RSTRING_PTR(*value), RSTRING_LEN(*value));
339
+ val = string_value_to_attribute(RSTRING_PTR(attr), RSTRING_LEN(attr), RSTRING_PTR(value), RSTRING_LEN(value));
343
340
  break;
344
341
  case T_SYMBOL:
345
- str = rb_sym2str(*value);
342
+ str = rb_sym2str(value);
346
343
  val = string_value_to_attribute(RSTRING_PTR(attr), RSTRING_LEN(attr), RSTRING_PTR(str), RSTRING_LEN(str));
347
344
  break;
348
345
  default:
349
- str = rb_funcall(*value, rb_intern("to_s"), 0);
346
+ str = rb_funcall(value, rb_intern("to_s"), 0);
350
347
  val = string_value_to_attribute(RSTRING_PTR(attr), RSTRING_LEN(attr), RSTRING_PTR(str), RSTRING_LEN(str));
351
348
  break;
352
349
  }
@@ -372,7 +369,7 @@ static VALUE external_to_attribute(RB_UNUSED_VAR(VALUE self), VALUE attr, VALUE
372
369
 
373
370
  StringValue(attr);
374
371
 
375
- char *val = to_attribute(attr, &value);
372
+ char *val = to_attribute(attr, value);
376
373
  VALUE rstring = rb_utf8_str_new_cstr(val);
377
374
  free(val);
378
375
 
@@ -393,7 +390,7 @@ static VALUE external_to_attributes(RB_UNUSED_VAR(VALUE self), VALUE attributes)
393
390
  }
394
391
 
395
392
  char *empty = "";
396
- char *attrs = hash_value_to_attribute(empty, 0, &attributes);
393
+ char *attrs = hash_value_to_attribute(empty, 0, attributes);
397
394
 
398
395
  VALUE rstring = rb_utf8_str_new_cstr(attrs);
399
396
  free(attrs);
@@ -401,9 +398,9 @@ static VALUE external_to_attributes(RB_UNUSED_VAR(VALUE self), VALUE attributes)
401
398
  return rstring;
402
399
  }
403
400
 
404
- static char * void_element(char *tag, size_t tlen, VALUE *attributes) {
401
+ static char * void_element(char *tag, size_t tlen, VALUE attributes) {
405
402
  /* T_IMEMO is what we get if an optional argument was not passed. */
406
- if (TYPE(*attributes) == T_IMEMO) {
403
+ if (TYPE(attributes) == T_IMEMO) {
407
404
  size_t total = tag_olen + tlen + tag_clen + 1;
408
405
  char *string = malloc(total);
409
406
  char *ptr;
@@ -454,7 +451,7 @@ static VALUE external_void_element(int argc, VALUE *arguments, RB_UNUSED_VAR(VAL
454
451
 
455
452
  StringValue(tag);
456
453
 
457
- char *string = void_element(RSTRING_PTR(tag), RSTRING_LEN(tag), &attributes);
454
+ char *string = void_element(RSTRING_PTR(tag), RSTRING_LEN(tag), attributes);
458
455
  VALUE rstring = rb_utf8_str_new_cstr(string);
459
456
 
460
457
  free(string);
@@ -462,7 +459,7 @@ static VALUE external_void_element(int argc, VALUE *arguments, RB_UNUSED_VAR(VAL
462
459
  return rstring;
463
460
  }
464
461
 
465
- static char * element(char *tag, size_t tlen, char *content, size_t conlen, VALUE *attributes) {
462
+ static char * element(char *tag, size_t tlen, char *content, size_t conlen, VALUE attributes) {
466
463
  char *empty = "";
467
464
  char *attrs = hash_value_to_attribute(empty, 0, attributes);
468
465
  size_t alen = strlen(attrs);
@@ -529,7 +526,7 @@ static VALUE external_element(int argc, VALUE *arguments, RB_UNUSED_VAR(VALUE se
529
526
 
530
527
  CONTENT_FROM_BLOCK;
531
528
 
532
- char *string = element(RSTRING_PTR(tag), RSTRING_LEN(tag), RSTRING_PTR(content), RSTRING_LEN(content), &attributes);
529
+ char *string = element(RSTRING_PTR(tag), RSTRING_LEN(tag), RSTRING_PTR(content), RSTRING_LEN(content), attributes);
533
530
  VALUE rstring = rb_utf8_str_new_cstr(string);
534
531
  free(string);
535
532
 
data/lib/berns/berns.so CHANGED
Binary file
data/lib/berns/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Berns
3
- VERSION = '3.1.3'
3
+ VERSION = '3.1.4'
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: berns
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.3
4
+ version: 3.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taylor Beck
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-05-14 00:00:00.000000000 Z
12
+ date: 2021-05-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: benchmark-ips