Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rubygem-msgpack for openSUSE:Factory 
checked in at 2022-08-09 15:26:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-msgpack (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-msgpack.new.1521 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-msgpack"

Tue Aug  9 15:26:42 2022 rev:19 rq:993498 version:1.5.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-msgpack/rubygem-msgpack.changes  
2022-07-08 14:03:27.866555381 +0200
+++ 
/work/SRC/openSUSE:Factory/.rubygem-msgpack.new.1521/rubygem-msgpack.changes    
    2022-08-09 15:26:57.101385059 +0200
@@ -1,0 +2,12 @@
+Thu Aug  4 13:19:05 UTC 2022 - Stephan Kulow <co...@suse.com>
+
+updated to version 1.5.4
+ see installed ChangeLog
+
+  2022-07-25
+  
+  * Fix a segfault when deserializing empty symbol (`:""`).
+  * Improve compilation flags to not strip debug symbols.
+  
+
+-------------------------------------------------------------------

Old:
----
  msgpack-1.5.3.gem

New:
----
  msgpack-1.5.4.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-msgpack.spec ++++++
--- /var/tmp/diff_new_pack.1hdyzI/_old  2022-08-09 15:26:57.665386670 +0200
+++ /var/tmp/diff_new_pack.1hdyzI/_new  2022-08-09 15:26:57.669386681 +0200
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-msgpack
-Version:        1.5.3
+Version:        1.5.4
 Release:        0
 %define mod_name msgpack
 %define mod_full_name %{mod_name}-%{version}

++++++ msgpack-1.5.3.gem -> msgpack-1.5.4.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ChangeLog new/ChangeLog
--- old/ChangeLog       2022-07-01 11:53:25.000000000 +0200
+++ new/ChangeLog       2022-07-25 09:34:23.000000000 +0200
@@ -1,3 +1,8 @@
+2022-07-25
+
+* Fix a segfault when deserializing empty symbol (`:""`).
+* Improve compilation flags to not strip debug symbols.
+
 2022-05-30 version 1.5.3:
 
 * Fix deduplication of empty strings when using the `freeze: true` option.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2022-07-01 11:53:25.000000000 +0200
+++ new/README.md       2022-07-25 09:34:23.000000000 +0200
@@ -40,7 +40,7 @@
 MessagePack for Ruby should run on x86, ARM, PowerPC, SPARC and other CPU 
architectures.
 
 And it works with MRI (CRuby) and Rubinius.
-Patches to improve portability is highly welcomed.
+Patches to improve portability are highly welcomed.
 
 
 ## Serializing objects
@@ -51,6 +51,7 @@
 require 'msgpack'
 msg = MessagePack.pack(obj)  # or
 msg = obj.to_msgpack
+File.binwrite('mydata.msgpack', msg)
 ```
 
 ### Streaming serialization
@@ -71,6 +72,7 @@
 
 ```ruby
 require 'msgpack'
+msg = File.binread('mydata.msgpack')
 obj = MessagePack.unpack(msg)
 ```
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bench/bench.rb new/bench/bench.rb
--- old/bench/bench.rb  1970-01-01 01:00:00.000000000 +0100
+++ new/bench/bench.rb  2022-07-25 09:34:23.000000000 +0200
@@ -0,0 +1,78 @@
+# % bundle install
+# % bundle exec ruby bench/bench.rb
+
+require 'msgpack'
+
+require 'benchmark/ips'
+
+object_plain = {
+  'message' => '127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif 
HTTP/1.0" 200 2326 "http://www.example.com/start.html"; "Mozilla/4.08 [en] 
(Win98; I ;Nav)"'
+}
+
+data_plain = MessagePack.pack(object_plain)
+
+object_structured = {
+  'remote_host' => '127.0.0.1',
+  'remote_user' => '-',
+  'date' => '10/Oct/2000:13:55:36 -0700',
+  'request' => 'GET /apache_pb.gif HTTP/1.0',
+  'method' => 'GET',
+  'path' => '/apache_pb.gif',
+  'protocol' => 'HTTP/1.0',
+  'status' => 200,
+  'bytes' => 2326,
+  'referer' => 'http://www.example.com/start.html',
+  'agent' => 'Mozilla/4.08 [en] (Win98; I ;Nav)',
+}
+
+data_structured = MessagePack.pack(object_structured)
+
+class Extended
+  def to_msgpack_ext
+    MessagePack.pack({})
+  end
+
+  def self.from_msgpack_ext(data)
+    MessagePack.unpack(data)
+    Extended.new
+  end
+end
+
+object_extended = {
+  'extended' => Extended.new
+}
+
+extended_packer = MessagePack::Packer.new
+extended_packer.register_type(0x00, Extended, :to_msgpack_ext)
+data_extended = extended_packer.pack(object_extended).to_s
+
+Benchmark.ips do |x|
+  x.report('pack-plain') do
+    MessagePack.pack(object_plain)
+  end
+
+  x.report('pack-structured') do
+    MessagePack.pack(object_structured)
+  end
+
+  x.report('pack-extended') do
+    packer = MessagePack::Packer.new
+    packer.register_type(0x00, Extended, :to_msgpack_ext)
+    packer.pack(object_extended).to_s
+  end
+
+  x.report('unpack-plain') do
+    MessagePack.unpack(data_plain)
+  end
+
+  x.report('unpack-structured') do
+    MessagePack.unpack(data_structured)
+  end
+
+  x.report('unpack-extended') do
+    unpacker = MessagePack::Unpacker.new
+    unpacker.register_type(0x00, Extended, :from_msgpack_ext)
+    unpacker.feed data_extended
+    unpacker.read
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bench/pack.rb new/bench/pack.rb
--- old/bench/pack.rb   2022-07-01 11:53:25.000000000 +0200
+++ new/bench/pack.rb   1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-require 'viiite'
-require 'msgpack'
-
-data = { 'hello' => 'world', 'nested' => ['structure', {value: 42}] }
-data_sym = { hello: 'world', nested: ['structure', {value: 42}] }
-
-data = MessagePack.pack(:hello => 'world', :nested => ['structure', {:value => 
42}])
-
-Viiite.bench do |b|
-  b.range_over([10_000, 100_000, 1000_000], :runs) do |runs|
-    b.report(:strings) do
-      runs.times do
-        MessagePack.pack(data)
-      end
-    end
-
-    b.report(:symbols) do
-      runs.times do
-        MessagePack.pack(data_sym)
-      end
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bench/pack_log.rb new/bench/pack_log.rb
--- old/bench/pack_log.rb       2022-07-01 11:53:25.000000000 +0200
+++ new/bench/pack_log.rb       1970-01-01 01:00:00.000000000 +0100
@@ -1,33 +0,0 @@
-require 'viiite'
-require 'msgpack'
-
-data_plain = { 'message' => '127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET 
/apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html"; 
"Mozilla/4.08 [en] (Win98; I ;Nav)"' }
-data_structure = {
-  'remote_host' => '127.0.0.1',
-  'remote_user' => '-',
-  'date' => '10/Oct/2000:13:55:36 -0700',
-  'request' => 'GET /apache_pb.gif HTTP/1.0',
-  'method' => 'GET',
-  'path' => '/apache_pb.gif',
-  'protocol' => 'HTTP/1.0',
-  'status' => 200,
-  'bytes' => 2326,
-  'referer' => 'http://www.example.com/start.html',
-  'agent' => 'Mozilla/4.08 [en] (Win98; I ;Nav)',
-}
-
-Viiite.bench do |b|
-  b.range_over([10_000, 100_000, 1000_000], :runs) do |runs|
-    b.report(:plain) do
-      runs.times do
-        MessagePack.pack(data_plain)
-      end
-    end
-
-    b.report(:structure) do
-      runs.times do
-        MessagePack.pack(data_structure)
-      end
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bench/pack_log_long.rb new/bench/pack_log_long.rb
--- old/bench/pack_log_long.rb  2022-07-01 11:53:25.000000000 +0200
+++ new/bench/pack_log_long.rb  1970-01-01 01:00:00.000000000 +0100
@@ -1,65 +0,0 @@
-# viiite report --regroup bench,threads bench/pack_log_long.rb
-
-require 'viiite'
-require 'msgpack'
-
-data_plain = { 'message' => '127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET 
/apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html"; 
"Mozilla/4.08 [en] (Win98; I ;Nav)"' }
-data_structure = {
-  'remote_host' => '127.0.0.1',
-  'remote_user' => '-',
-  'date' => '10/Oct/2000:13:55:36 -0700',
-  'request' => 'GET /apache_pb.gif HTTP/1.0',
-  'method' => 'GET',
-  'path' => '/apache_pb.gif',
-  'protocol' => 'HTTP/1.0',
-  'status' => 200,
-  'bytes' => 2326,
-  'referer' => 'http://www.example.com/start.html',
-  'agent' => 'Mozilla/4.08 [en] (Win98; I ;Nav)',
-}
-
-seconds = 3600 # 1 hour
-
-Viiite.bench do |b|
-  b.range_over([1, 2, 4, 8, 16], :threads) do |threads|
-    b.report(:plain) do
-      ths = []
-      end_at = Time.now + seconds
-      threads.times do
-        t = Thread.new do
-          packs = 0
-          while Time.now < end_at
-            10000.times do
-              MessagePack.pack(data_plain)
-            end
-            packs += 10000
-          end
-          packs
-        end
-        ths.push t
-      end
-      sum = ths.reduce(0){|r,t| r + t.value }
-      puts "MessagePack.pack, plain, #{threads} threads: #{sum} times, #{sum / 
seconds} times/second."
-    end
-
-    b.report(:structure) do
-      ths = []
-      end_at = Time.now + seconds
-      threads.times do
-        t = Thread.new do
-          packs = 0
-          while Time.now < end_at
-            10000.times do
-              MessagePack.pack(data_structure)
-            end
-            packs += 10000
-          end
-          packs
-        end
-        ths.push t
-      end
-      sum = ths.reduce(0){|r,t| r + t.value }
-      puts "MessagePack.pack, structured, #{threads} threads: #{sum} times, 
#{sum / seconds} times/second."
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bench/pack_symbols.rb new/bench/pack_symbols.rb
--- old/bench/pack_symbols.rb   2022-07-01 11:53:25.000000000 +0200
+++ new/bench/pack_symbols.rb   1970-01-01 01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
-require 'viiite'
-require 'msgpack'
-
-data = :symbol
-
-Viiite.bench do |b|
-  b.variation_point :branch, `git rev-parse --abbrev-ref HEAD`
-
-  b.range_over([:symbol, :none], :reg_type) do |reg_type|
-    packer = MessagePack::Packer.new
-    packer.register_type(0x00, Symbol, :to_msgpack_ext) if reg_type == :symbol
-
-    b.range_over([100_000, 1_000_000, 10_000_000], :count) do |count|
-      packer.clear
-      b.report(:multi_run) do
-        count.times do
-          packer.pack(data)
-        end
-      end
-
-      packer.clear
-      items_data = [].fill(data, 0, count)
-      b.report(:large_run) do
-        packer.pack(items_data)
-      end
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bench/run.sh new/bench/run.sh
--- old/bench/run.sh    2022-07-01 11:53:25.000000000 +0200
+++ new/bench/run.sh    1970-01-01 01:00:00.000000000 +0100
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-# prerequisites
-# $ rbenv shell 2.2.1 (or jruby-x.x.x or ...)
-# $ rake install
-
-echo "pack"
-viiite report --regroup bench,runs bench/pack.rb 
-echo "unpack"
-viiite report --regroup bench,runs bench/unpack.rb 
-echo "pack log"
-viiite report --regroup bench,runs bench/pack_log.rb 
-echo "unpack log"
-viiite report --regroup bench,runs bench/unpack_log.rb 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bench/run_long.sh new/bench/run_long.sh
--- old/bench/run_long.sh       2022-07-01 11:53:25.000000000 +0200
+++ new/bench/run_long.sh       1970-01-01 01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
-#!/bin/sh
-
-# prerequisites
-# $ sudo apt-get install sysstat
-# $ rbenv shell 2.2.1 (or jruby-x.x.x or ...)
-# $ rake install
-
-# 60 * 600 : 60*60 * 5[threads] * 2[bench]
-
-ruby -v
-
-echo "pack log long"
-viiite report --regroup bench,threads bench/pack_log_long.rb &
-sar -o pack_log_long.sar -r 60 600 > /dev/null 2>&1 &
-
-declare -i i=0
-while [ $i -lt 600 ]; do
-    ps auxww | grep ruby | grep -v grep | awk '{print $5,$6;}' >> 
pack_log_long.mem.txt
-    i=i+1
-    sleep 60
-done
-
-sleep 120 # cool down
-
-echo "unpack log long"
-viiite report --regroup bench,threads bench/unpack_log_long.rb &
-sar -o unpack_log_long.sar -r 60 600 > /dev/null 2>&1 &
-
-i=0
-while [ $i -lt 600 ]; do
-    ps auxww | grep ruby | grep -v grep | awk '{print $5,$6;}' >> 
pack_log_long.mem.txt
-    i=i+1
-    sleep 60
-done
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bench/run_symbols.sh new/bench/run_symbols.sh
--- old/bench/run_symbols.sh    2022-07-01 11:53:25.000000000 +0200
+++ new/bench/run_symbols.sh    1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-# so master and this branch have the benchmark file in any case
-cp bench/pack_symbols.rb bench/pack_symbols_tmp.rb
-
-benchmark=""
-current_branch=`git rev-parse --abbrev-ref HEAD`
-
-for branch in master $current_branch; do
-    echo "Testing branch $branch"
-    git checkout $branch
-
-    echo "Installing gem..."
-    rake install
-
-    echo "Running benchmark..."
-    if [ "$benchmark" ]; then
-        benchmark+=$'\n'
-    fi
-    benchmark+=$(viiite run bench/pack_symbols_tmp.rb)
-    echo
-done
-
-rm bench/pack_symbols_tmp.rb
-
-echo "$benchmark" | viiite report --regroup bench,reg_type,count,branch
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bench/unpack.rb new/bench/unpack.rb
--- old/bench/unpack.rb 2022-07-01 11:53:25.000000000 +0200
+++ new/bench/unpack.rb 1970-01-01 01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-require 'viiite'
-require 'msgpack'
-
-data = MessagePack.pack(:hello => 'world', :nested => ['structure', {:value => 
42}])
-
-Viiite.bench do |b|
-  b.range_over([10_000, 100_000, 1000_000], :runs) do |runs|
-    b.report(:strings) do
-      runs.times do
-        MessagePack.unpack(data)
-      end
-    end
-
-    b.report(:symbols) do
-      options = {:symbolize_keys => true}
-      runs.times do
-        MessagePack.unpack(data, options)
-      end
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bench/unpack_log.rb new/bench/unpack_log.rb
--- old/bench/unpack_log.rb     2022-07-01 11:53:25.000000000 +0200
+++ new/bench/unpack_log.rb     1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-require 'viiite'
-require 'msgpack'
-
-data_plain = MessagePack.pack({ 'message' => '127.0.0.1 - - 
[10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 
"http://www.example.com/start.html"; "Mozilla/4.08 [en] (Win98; I ;Nav)"' })
-
-data_structure = MessagePack.pack({
-  'remote_host' => '127.0.0.1',
-  'remote_user' => '-',
-  'date' => '10/Oct/2000:13:55:36 -0700',
-  'request' => 'GET /apache_pb.gif HTTP/1.0',
-  'method' => 'GET',
-  'path' => '/apache_pb.gif',
-  'protocol' => 'HTTP/1.0',
-  'status' => 200,
-  'bytes' => 2326,
-  'referer' => 'http://www.example.com/start.html',
-  'agent' => 'Mozilla/4.08 [en] (Win98; I ;Nav)',
-})
-
-Viiite.bench do |b|
-  b.range_over([10_000, 100_000, 1000_000], :runs) do |runs|
-    b.report(:plain) do
-      runs.times do
-        MessagePack.unpack(data_plain)
-      end
-    end
-
-    b.report(:structure) do
-      runs.times do
-        MessagePack.unpack(data_structure)
-      end
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bench/unpack_log_long.rb new/bench/unpack_log_long.rb
--- old/bench/unpack_log_long.rb        2022-07-01 11:53:25.000000000 +0200
+++ new/bench/unpack_log_long.rb        1970-01-01 01:00:00.000000000 +0100
@@ -1,67 +0,0 @@
-# viiite report --regroup bench,threads bench/pack_log_long.rb
-
-require 'viiite'
-require 'msgpack'
-
-data_plain = MessagePack.pack({
-    'message' => '127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET 
/apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html"; 
"Mozilla/4.08 [en] (Win98; I ;Nav)"'
-})
-data_structure = MessagePack.pack({
-  'remote_host' => '127.0.0.1',
-  'remote_user' => '-',
-  'date' => '10/Oct/2000:13:55:36 -0700',
-  'request' => 'GET /apache_pb.gif HTTP/1.0',
-  'method' => 'GET',
-  'path' => '/apache_pb.gif',
-  'protocol' => 'HTTP/1.0',
-  'status' => 200,
-  'bytes' => 2326,
-  'referer' => 'http://www.example.com/start.html',
-  'agent' => 'Mozilla/4.08 [en] (Win98; I ;Nav)',
-})
-
-seconds = 3600 # 1 hour
-
-Viiite.bench do |b|
-  b.range_over([1, 2, 4, 8, 16], :threads) do |threads|
-    b.report(:plain) do
-      ths = []
-      end_at = Time.now + seconds
-      threads.times do
-        t = Thread.new do
-          packs = 0
-          while Time.now < end_at
-            10000.times do
-              MessagePack.unpack(data_plain)
-            end
-            packs += 10000
-          end
-          packs
-        end
-        ths.push t
-      end
-      sum = ths.reduce(0){|r,t| r + t.value }
-      puts "MessagePack.unpack, plain, #{threads} threads: #{sum} times, #{sum 
/ seconds} times/second."
-    end
-
-    b.report(:structure) do
-      ths = []
-      end_at = Time.now + seconds
-      threads.times do
-        t = Thread.new do
-          packs = 0
-          while Time.now < end_at
-            10000.times do
-              MessagePack.unpack(data_structure)
-            end
-            packs += 10000
-          end
-          packs
-        end
-        ths.push t
-      end
-      sum = ths.reduce(0){|r,t| r + t.value }
-      puts "MessagePack.unpack, structured, #{threads} threads: #{sum} times, 
#{sum / seconds} times/second."
-    end
-  end
-end
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/msgpack/buffer.c new/ext/msgpack/buffer.c
--- old/ext/msgpack/buffer.c    2022-07-01 11:53:25.000000000 +0200
+++ new/ext/msgpack/buffer.c    2022-07-25 09:34:23.000000000 +0200
@@ -588,13 +588,13 @@
 size_t _msgpack_buffer_feed_from_io(msgpack_buffer_t* b)
 {
     if(b->io_buffer == Qnil) {
-        b->io_buffer = rb_funcall(b->io, b->io_partial_read_method, 1, 
LONG2NUM(b->io_buffer_size));
+        b->io_buffer = rb_funcall(b->io, b->io_partial_read_method, 1, 
SIZET2NUM(b->io_buffer_size));
         if(b->io_buffer == Qnil) {
             rb_raise(rb_eEOFError, "IO reached end of file");
         }
         StringValue(b->io_buffer);
     } else {
-        VALUE ret = rb_funcall(b->io, b->io_partial_read_method, 2, 
LONG2NUM(b->io_buffer_size), b->io_buffer);
+        VALUE ret = rb_funcall(b->io, b->io_partial_read_method, 2, 
SIZET2NUM(b->io_buffer_size), b->io_buffer);
         if(ret == Qnil) {
             rb_raise(rb_eEOFError, "IO reached end of file");
         }
@@ -615,7 +615,7 @@
 {
     if(RSTRING_LEN(string) == 0) {
         /* direct read */
-        VALUE ret = rb_funcall(b->io, b->io_partial_read_method, 2, 
LONG2NUM(length), string);
+        VALUE ret = rb_funcall(b->io, b->io_partial_read_method, 2, 
SIZET2NUM(length), string);
         if(ret == Qnil) {
             return 0;
         }
@@ -627,7 +627,7 @@
         b->io_buffer = rb_str_buf_new(0);
     }
 
-    VALUE ret = rb_funcall(b->io, b->io_partial_read_method, 2, 
LONG2NUM(length), b->io_buffer);
+    VALUE ret = rb_funcall(b->io, b->io_partial_read_method, 2, 
SIZET2NUM(length), b->io_buffer);
     if(ret == Qnil) {
         return 0;
     }
@@ -643,7 +643,7 @@
         b->io_buffer = rb_str_buf_new(0);
     }
 
-    VALUE ret = rb_funcall(b->io, b->io_partial_read_method, 2, 
LONG2NUM(length), b->io_buffer);
+    VALUE ret = rb_funcall(b->io, b->io_partial_read_method, 2, 
SIZET2NUM(length), b->io_buffer);
     if(ret == Qnil) {
         return 0;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/msgpack/buffer_class.c 
new/ext/msgpack/buffer_class.c
--- old/ext/msgpack/buffer_class.c      2022-07-01 11:53:25.000000000 +0200
+++ new/ext/msgpack/buffer_class.c      2022-07-25 09:34:23.000000000 +0200
@@ -96,17 +96,17 @@
 
         v = rb_hash_aref(options, sym_read_reference_threshold);
         if(v != Qnil) {
-            msgpack_buffer_set_read_reference_threshold(b, NUM2ULONG(v));
+            msgpack_buffer_set_read_reference_threshold(b, NUM2SIZET(v));
         }
 
         v = rb_hash_aref(options, sym_write_reference_threshold);
         if(v != Qnil) {
-            msgpack_buffer_set_write_reference_threshold(b, NUM2ULONG(v));
+            msgpack_buffer_set_write_reference_threshold(b, NUM2SIZET(v));
         }
 
         v = rb_hash_aref(options, sym_io_buffer_size);
         if(v != Qnil) {
-            msgpack_buffer_set_io_buffer_size(b, NUM2ULONG(v));
+            msgpack_buffer_set_io_buffer_size(b, NUM2SIZET(v));
         }
     }
 }
@@ -301,11 +301,11 @@
 
     /* do nothing */
     if(n == 0) {
-        return ULONG2NUM(0);
+        return INT2NUM(0);
     }
 
     size_t sz = read_until_eof(b, Qnil, n);
-    return ULONG2NUM(sz);
+    return SIZET2NUM(sz);
 }
 
 static VALUE Buffer_skip_all(VALUE self, VALUE sn)
@@ -473,7 +473,7 @@
 {
     BUFFER(self, b);
     size_t sz = msgpack_buffer_flush_to_io(b, io, s_write, true);
-    return ULONG2NUM(sz);
+    return SIZET2NUM(sz);
 }
 
 void MessagePack_Buffer_module_init(VALUE mMessagePack)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/msgpack/extconf.rb new/ext/msgpack/extconf.rb
--- old/ext/msgpack/extconf.rb  2022-07-01 11:53:25.000000000 +0200
+++ new/ext/msgpack/extconf.rb  2022-07-25 09:34:23.000000000 +0200
@@ -6,7 +6,7 @@
 have_func("rb_hash_new_capa", "ruby.h") # Ruby 3.2+
 
 unless RUBY_PLATFORM.include? 'mswin'
-  $CFLAGS << %[ -I.. -Wall -O3 -g -std=gnu99]
+  $CFLAGS << %[ -I.. -Wall -O3 #{RbConfig::CONFIG["debugflags"]} -std=gnu99]
 end
 #$CFLAGS << %[ -DDISABLE_RMEM]
 #$CFLAGS << %[ -DDISABLE_RMEM_REUSE_INTERNAL_FRAGMENT]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/msgpack/packer_class.c 
new/ext/msgpack/packer_class.c
--- old/ext/msgpack/packer_class.c      2022-07-01 11:53:25.000000000 +0200
+++ new/ext/msgpack/packer_class.c      2022-07-25 09:34:23.000000000 +0200
@@ -322,7 +322,7 @@
 {
     PACKER(self, pk);
     size_t sz = msgpack_buffer_flush_to_io(PACKER_BUFFER_(pk), io, s_write, 
true);
-    return ULONG2NUM(sz);
+    return SIZET2NUM(sz);
 }
 
 //static VALUE Packer_append(VALUE self, VALUE string_or_buffer)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/msgpack/unpacker.c new/ext/msgpack/unpacker.c
--- old/ext/msgpack/unpacker.c  2022-07-01 11:53:25.000000000 +0200
+++ new/ext/msgpack/unpacker.c  2022-07-25 09:34:23.000000000 +0200
@@ -177,6 +177,9 @@
 static inline int object_complete_ext(msgpack_unpacker_t* uk, int ext_type, 
VALUE str)
 {
     if (uk->optimized_symbol_ext_type && ext_type == uk->symbol_ext_type) {
+        if (RB_UNLIKELY(NIL_P(str))) { // empty extension is returned as Qnil
+            return object_complete_symbol(uk, ID2SYM(rb_intern3("", 0, 
rb_utf8_encoding())));
+        }
         return object_complete_symbol(uk, rb_str_intern(str));
     }
 
@@ -477,7 +480,7 @@
             {
                 READ_CAST_BLOCK_OR_RETURN_EOF(cb, uk, 4);
                 uint32_t u32 = _msgpack_be32(cb->u32);
-                return object_complete(uk, ULONG2NUM((unsigned long)u32));
+                return object_complete(uk, ULONG2NUM(u32)); // long at least 
32 bits
             }
 
         case 0xcf:  // unsigned int 64
@@ -505,7 +508,7 @@
             {
                 READ_CAST_BLOCK_OR_RETURN_EOF(cb, uk, 4);
                 int32_t i32 = _msgpack_be32(cb->i32);
-                return object_complete(uk, LONG2NUM((long)i32));
+                return object_complete(uk, LONG2NUM(i32)); // long at least 32 
bits
             }
 
         case 0xd3:  // signed int 64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/msgpack/unpacker_class.c 
new/ext/msgpack/unpacker_class.c
--- old/ext/msgpack/unpacker_class.c    2022-07-01 11:53:25.000000000 +0200
+++ new/ext/msgpack/unpacker_class.c    2022-07-25 09:34:23.000000000 +0200
@@ -209,7 +209,7 @@
         raise_unpacker_error(r);
     }
 
-    return ULONG2NUM(size);
+    return ULONG2NUM(size); // long at least 32 bits
 }
 
 static VALUE Unpacker_read_map_header(VALUE self)
@@ -222,7 +222,7 @@
         raise_unpacker_error((int)r);
     }
 
-    return ULONG2NUM(size);
+    return ULONG2NUM(size); // long at least 32 bits
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/msgpack/version.rb new/lib/msgpack/version.rb
--- old/lib/msgpack/version.rb  2022-07-01 11:53:25.000000000 +0200
+++ new/lib/msgpack/version.rb  2022-07-25 09:34:23.000000000 +0200
@@ -1,5 +1,5 @@
 module MessagePack
-  VERSION = "1.5.3"
+  VERSION = "1.5.4"
   # Note for maintainers:
   #  Don't miss building/releasing the JRuby version (rake buld:java)
   #  See "How to build -java rubygems" in README for more details.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2022-07-01 11:53:25.000000000 +0200
+++ new/metadata        2022-07-25 09:34:23.000000000 +0200
@@ -1,7 +1,7 @@
 --- !ruby/object:Gem::Specification
 name: msgpack
 version: !ruby/object:Gem::Version
-  version: 1.5.3
+  version: 1.5.4
 platform: ruby
 authors:
 - Sadayuki Furuhashi
@@ -10,7 +10,7 @@
 autorequire:
 bindir: bin
 cert_chain: []
-date: 2022-07-01 00:00:00.000000000 Z
+date: 2022-07-25 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: bundler
@@ -96,6 +96,20 @@
     - - ">="
       - !ruby/object:Gem::Version
         version: '0'
+- !ruby/object:Gem::Dependency
+  name: benchmark-ips
+  requirement: !ruby/object:Gem::Requirement
+    requirements:
+    - - "~>"
+      - !ruby/object:Gem::Version
+        version: 2.10.0
+  type: :development
+  prerelease: false
+  version_requirements: !ruby/object:Gem::Requirement
+    requirements:
+    - - "~>"
+      - !ruby/object:Gem::Version
+        version: 2.10.0
 description: MessagePack is a binary-based efficient object serialization 
library.
   It enables to exchange structured objects between many languages like JSON. 
But
   unlike JSON, it is very fast and small.
@@ -117,16 +131,7 @@
 - README.md
 - Rakefile
 - appveyor.yml
-- bench/pack.rb
-- bench/pack_log.rb
-- bench/pack_log_long.rb
-- bench/pack_symbols.rb
-- bench/run.sh
-- bench/run_long.sh
-- bench/run_symbols.sh
-- bench/unpack.rb
-- bench/unpack_log.rb
-- bench/unpack_log_long.rb
+- bench/bench.rb
 - doclib/msgpack.rb
 - doclib/msgpack/buffer.rb
 - doclib/msgpack/core_ext.rb
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/msgpack.gemspec new/msgpack.gemspec
--- old/msgpack.gemspec 2022-07-01 11:53:25.000000000 +0200
+++ new/msgpack.gemspec 2022-07-25 09:34:23.000000000 +0200
@@ -27,4 +27,5 @@
   s.add_development_dependency 'rspec', ['~> 3.3']
   s.add_development_dependency 'yard'
   s.add_development_dependency 'json'
+  s.add_development_dependency 'benchmark-ips', ['~> 2.10.0']
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/factory_spec.rb new/spec/factory_spec.rb
--- old/spec/factory_spec.rb    2022-07-01 11:53:25.000000000 +0200
+++ new/spec/factory_spec.rb    2022-07-25 09:34:23.000000000 +0200
@@ -474,6 +474,10 @@
         expect(roundtrip(:symbol)).to be :symbol
       end
 
+      it 'works with empty symbol' do
+        expect(roundtrip(:"")).to be :""
+      end
+
       it 'preserves encoding for ASCII symbols' do
         expect(:symbol.encoding).to be Encoding::US_ASCII
         expect(roundtrip(:symbol)).to be :symbol

Reply via email to