libjpeg-ruby 0.9.1 → 0.10.0

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: 3523da7ee57f41d57b81fe97558564e0b0459c5977321ba88a298a450cd9273a
4
- data.tar.gz: 103f379375f273f0f9a77109cc3dff8018779ce94837d2182e1e0ce50bb78213
3
+ metadata.gz: b783545e4e23157c5af066c2f8d39add455c906d4f60556819fc74aed68a9fa5
4
+ data.tar.gz: 56e3776fcfa3d31cceb0b96cce74495058722f20032dc7586045cd2ba0df954e
5
5
  SHA512:
6
- metadata.gz: fd38c818582812ce2ef404ade310846a5af944e2b05c2b16df4df66bf62dd3404c9c68c6508e65e8a603041ab6f0d21484d911680e967f7e11aa9ad94a7d2782
7
- data.tar.gz: a05940b338d1660f90345c7eebdeea897629ac37c33949720cde9d4c4d5794eb73dcb0f1be568d078110185ffe223425e4f5cb61da10f3075dd63a6c1a1fe185
6
+ metadata.gz: 801f18210f83e85865672dda23cf832d20a2354a6f7c13d38c5e7f297f76e6477c9481cec7000f45816577eeddc333fa0d8871e2b129e008337c89a867260735
7
+ data.tar.gz: aa5a7cc6a9830253ea800429ee95f802cbf6ec8cc1c634ab802c4507e79721c22bdb39ccd3f3ea3b6d23e6b83eab633e6f5cda438530f9006af6a45fdf968260
data/ext/jpeg/jpeg.c CHANGED
@@ -2129,7 +2129,7 @@ get_colorspace_str( J_COLOR_SPACE cs)
2129
2129
  break;
2130
2130
  }
2131
2131
 
2132
- return rb_str_new_cstr(cstr);
2132
+ return rb_str_freeze(rb_str_new_cstr(cstr));
2133
2133
  }
2134
2134
 
2135
2135
  typedef struct {
@@ -2325,6 +2325,8 @@ exif_fetch_byte_data(exif_t* ptr, VALUE* dst)
2325
2325
  for (i = 0; i < (int)n; i++) {
2326
2326
  rb_ary_push(obj, INT2FIX(p[i]));
2327
2327
  }
2328
+
2329
+ rb_ary_freeze(obj);
2328
2330
  break;
2329
2331
  }
2330
2332
 
@@ -2348,6 +2350,7 @@ exif_fetch_ascii_data(exif_t* ptr, VALUE* dst)
2348
2350
 
2349
2351
  obj = rb_utf8_str_new((char*)p, n);
2350
2352
  rb_funcall(obj, rb_intern("strip!"), 0);
2353
+ rb_str_freeze(obj);
2351
2354
 
2352
2355
  *dst = obj;
2353
2356
  }
@@ -2382,6 +2385,8 @@ exif_fetch_short_data(exif_t* ptr, VALUE* dst)
2382
2385
  rb_ary_push(obj, INT2FIX(get_u16(p, ptr->be)));
2383
2386
  p += 2;
2384
2387
  }
2388
+
2389
+ rb_ary_freeze(obj);
2385
2390
  break;
2386
2391
  }
2387
2392
 
@@ -2416,6 +2421,8 @@ exif_fetch_long_data(exif_t* ptr, VALUE* dst)
2416
2421
  rb_ary_push(obj, INT2FIX(get_u32(p, ptr->be)));
2417
2422
  p += 4;
2418
2423
  }
2424
+
2425
+ rb_ary_freeze(obj);
2419
2426
  break;
2420
2427
  }
2421
2428
 
@@ -2426,6 +2433,7 @@ static void
2426
2433
  exif_fetch_rational_data(exif_t* ptr, VALUE* dst)
2427
2434
  {
2428
2435
  VALUE obj;
2436
+ VALUE val;
2429
2437
 
2430
2438
  int i;
2431
2439
  uint32_t n;
@@ -2448,6 +2456,7 @@ exif_fetch_rational_data(exif_t* ptr, VALUE* dst)
2448
2456
  deno = 1;
2449
2457
  }
2450
2458
  obj = rb_rational_new(INT2FIX(num), INT2FIX(deno));
2459
+ rb_obj_freeze(obj);
2451
2460
  break;
2452
2461
 
2453
2462
  default:
@@ -2458,9 +2467,15 @@ exif_fetch_rational_data(exif_t* ptr, VALUE* dst)
2458
2467
  if (num == 0 && deno == 0) {
2459
2468
  deno = 1;
2460
2469
  }
2461
- rb_ary_push(obj, rb_rational_new(INT2FIX(num), INT2FIX(deno)));
2470
+
2471
+ val = rb_rational_new(INT2FIX(num), INT2FIX(deno));
2472
+ rb_obj_freeze(val);
2473
+
2474
+ rb_ary_push(obj, val);
2462
2475
  p += 8;
2463
2476
  }
2477
+
2478
+ rb_ary_freeze(obj);
2464
2479
  break;
2465
2480
  }
2466
2481
 
@@ -2483,6 +2498,7 @@ exif_fetch_undefined_data(exif_t* ptr, VALUE* dst)
2483
2498
  }
2484
2499
 
2485
2500
  obj = rb_enc_str_new((char*)p, n, rb_ascii8bit_encoding());
2501
+ rb_str_freeze(obj);
2486
2502
 
2487
2503
  *dst = obj;
2488
2504
  }
@@ -2515,6 +2531,8 @@ exif_fetch_slong_data(exif_t* ptr, VALUE* dst)
2515
2531
  rb_ary_push(obj, INT2FIX(get_s32(p, ptr->be)));
2516
2532
  p += 4;
2517
2533
  }
2534
+
2535
+ rb_ary_freeze(obj);
2518
2536
  break;
2519
2537
  }
2520
2538
 
@@ -2525,6 +2543,7 @@ static void
2525
2543
  exif_fetch_srational_data(exif_t* ptr, VALUE* dst)
2526
2544
  {
2527
2545
  VALUE obj;
2546
+ VALUE val;
2528
2547
 
2529
2548
  int i;
2530
2549
  uint32_t n;
@@ -2557,9 +2576,15 @@ exif_fetch_srational_data(exif_t* ptr, VALUE* dst)
2557
2576
  if (num == 0 && deno == 0) {
2558
2577
  deno = 1;
2559
2578
  }
2560
- rb_ary_push(obj, rb_rational_new(INT2FIX(num), INT2FIX(deno)));
2579
+
2580
+ val = rb_rational_new(INT2FIX(num), INT2FIX(deno));
2581
+ rb_obj_freeze(val);
2582
+
2583
+ rb_ary_push(obj, val);
2561
2584
  p += 8;
2562
2585
  }
2586
+
2587
+ rb_ary_freeze(obj);
2563
2588
  break;
2564
2589
  }
2565
2590
 
@@ -2720,7 +2745,10 @@ create_exif_tags_hash(jpeg_decode_t* ptr)
2720
2745
 
2721
2746
  if (TYPE(off) == T_FIXNUM && TYPE(size) == T_FIXNUM) {
2722
2747
  data = rb_enc_str_new((char*)exif.head + FIX2INT(off),
2723
- FIX2INT(size), rb_ascii8bit_encoding());
2748
+ FIX2INT(size),
2749
+ rb_ascii8bit_encoding());
2750
+
2751
+ rb_str_freeze(data);
2724
2752
 
2725
2753
  rb_hash_lookup(info, THUMBNAIL_OFFSET);
2726
2754
  rb_hash_lookup(info, THUMBNAIL_SIZE);
@@ -2731,6 +2759,8 @@ create_exif_tags_hash(jpeg_decode_t* ptr)
2731
2759
  break;
2732
2760
  }
2733
2761
 
2762
+ rb_hash_freeze(ret);
2763
+
2734
2764
  return ret;
2735
2765
  }
2736
2766
 
@@ -2861,6 +2891,8 @@ create_colormap(jpeg_decode_t* ptr)
2861
2891
  RUNTIME_ERROR("this number of components is not implemented yet");
2862
2892
  }
2863
2893
 
2894
+ rb_ary_freeze(ret);
2895
+
2864
2896
  return ret;
2865
2897
  }
2866
2898
 
@@ -2899,7 +2931,7 @@ create_meta(jpeg_decode_t* ptr)
2899
2931
  rb_ivar_set(ret, id_orig_cs, get_colorspace_str(cinfo->jpeg_color_space));
2900
2932
 
2901
2933
  if (ptr->format == FMT_YVU) {
2902
- rb_ivar_set(ret, id_out_cs, rb_str_new_cstr("YCrCb"));
2934
+ rb_ivar_set(ret, id_out_cs, rb_str_freeze(rb_str_new_cstr("YCrCb")));
2903
2935
  } else {
2904
2936
  rb_ivar_set(ret, id_out_cs, get_colorspace_str(cinfo->out_color_space));
2905
2937
  }
@@ -2919,6 +2951,8 @@ create_meta(jpeg_decode_t* ptr)
2919
2951
  if (TEST_FLAG(ptr, F_DITHER)) {
2920
2952
  rb_ivar_set(ret, id_colormap, create_colormap(ptr));
2921
2953
  }
2954
+
2955
+ rb_obj_freeze(ret);
2922
2956
 
2923
2957
  return ret;
2924
2958
  }
@@ -3701,6 +3735,10 @@ Init_jpeg()
3701
3735
  {
3702
3736
  int i;
3703
3737
 
3738
+ #ifdef HAVE_RB_EXT_RACTOR_SAFE
3739
+ rb_ext_ractor_safe(true);
3740
+ #endif /* defined(HAVE_RB_EXT_RACTOR_SAFE) */
3741
+
3704
3742
  module = rb_define_module("JPEG");
3705
3743
  rb_define_singleton_method(module, "broken?", rb_test_image, 1);
3706
3744
 
data/lib/jpeg/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module JPEG
2
- VERSION = "0.9.1"
2
+ VERSION = "0.10.0"
3
3
  end
data/libjpeg-ruby.gemspec CHANGED
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
34
34
 
35
35
  spec.required_ruby_version = ">= 2.4.0"
36
36
 
37
- spec.add_development_dependency "bundler", ">= 2.1"
38
- spec.add_development_dependency "rake", ">= 12.3.3"
37
+ spec.add_development_dependency "bundler", ">= 2.3"
38
+ spec.add_development_dependency "rake", ">= 13.0"
39
39
  spec.add_development_dependency "rake-compiler", "~> 1.1.0"
40
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libjpeg-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hiroshi Kuwagata
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-01 00:00:00.000000000 Z
11
+ date: 2022-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '2.1'
19
+ version: '2.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '2.1'
26
+ version: '2.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 12.3.3
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 12.3.3
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake-compiler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -90,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
90
90
  - !ruby/object:Gem::Version
91
91
  version: '0'
92
92
  requirements: []
93
- rubygems_version: 3.2.3
93
+ rubygems_version: 3.3.7
94
94
  signing_key:
95
95
  specification_version: 4
96
96
  summary: libjpeg interface for ruby