diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-02-20 10:03:47 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-02-20 10:03:47 +0000 |
commit | 50b775851ad4cdae41b05bd133683f8894500674 (patch) | |
tree | 7baec2d004c47206fbdfe1ad02b820166534c7ff /sprintf.c | |
parent | 611bb8f5a8771b618b8e81f08438fb770a8c2872 (diff) |
* lib/irb/init.rb (IRB::IRB.parse_opts): add -I option to
irb. [ruby-dev:39243]
* sprintf.c (rb_f_sprintf): sign bit extension should not be done
if FPLUS flag is specified. [ruby-list:39224]
* sprintf.c (rb_f_sprintf): do not prepend dots for negative
numbers if FZERO is specified. [ruby-dev:39218]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'sprintf.c')
-rw-r--r-- | sprintf.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -544,7 +544,7 @@ rb_f_sprintf(argc, argv) if (base == 10) { rb_warning("negative number for %%u specifier"); } - else if (!(flags&FPREC)) { + else if (!(flags&(FPREC|FZERO))) { strcpy(s, ".."); s += 2; } @@ -602,7 +602,7 @@ rb_f_sprintf(argc, argv) remove_sign_bits(++s, base); tmp = rb_str_new(0, 3+strlen(s)); t = RSTRING(tmp)->ptr; - if (!(flags&FPREC)) { + if (!(flags&(FPREC|FZERO))) { strcpy(t, ".."); t += 2; } @@ -660,7 +660,7 @@ rb_f_sprintf(argc, argv) else { char c; - if (bignum && !RBIGNUM(val)->sign) + if (!sign && bignum && !RBIGNUM(val)->sign) c = sign_bits(base, p); else c = '0'; |