From b643a1a8bc89b7898d05dc2e26d87f708a5edc32 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 5 Jul 2017 17:48:40 +0900 Subject: In Ruby, `sprintf` specifier `%u` should behave as `%d`; fix #3730 Since there's no unsigned integer in Ruby. Binary, octal and hexadecimal negative numbers can be represented by using 2's compliment. But decimal (not being power of 2) cannot be use that kind of format. --- mrbgems/mruby-sprintf/src/sprintf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mrbgems/mruby-sprintf/src/sprintf.c') diff --git a/mrbgems/mruby-sprintf/src/sprintf.c b/mrbgems/mruby-sprintf/src/sprintf.c index df0edf590..d62a28e8c 100644 --- a/mrbgems/mruby-sprintf/src/sprintf.c +++ b/mrbgems/mruby-sprintf/src/sprintf.c @@ -838,10 +838,10 @@ retry: case 'b': case 'B': base = 2; break; + case 'u': case 'd': case 'i': sign = 1; - case 'u': default: base = 10; break; } -- cgit v1.2.3