[ruby-core:66042] [ruby-trunk - Bug #10454] %i doesn't have any special behavior in rb_sprintf et al.

From: nobu@...
Date: 2014-11-01 03:08:30 UTC
List: ruby-core #66042
Issue #10454 has been updated by Nobuyoshi Nakada.


Use `"%"PRIsVALUE` instead of `"%i"`.

----------------------------------------
Bug #10454: %i doesn't have any special behavior in rb_sprintf et al.
https://bugs.ruby-lang.org/issues/10454#change-49761

* Author: Max Anselm
* Status: Closed
* Priority: Normal
* Assignee: Zachary Scott
* Category: doc
* Target version: 
* ruby -v: ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
README.EXT claims:

> In the format string, `%i` is used for `Object#to_s` (or `Object#inspect` if ‘+’ flag is set) output (and related argument must be a VALUE).

But if you look at the code, this isn't true. %d and %i are handled the same in `BSD_vfprintf` (which is where all the printf functions end up). Has this ever been the case? I went back to when this documentation was added and it still looks like they're handled the same.



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next