Issue #5763 has been updated by Shyouhei Urabe.


> check for similar behaviour of sprintf in a c program

This is a GCCism, not a universal C behaviour.  If you think sprintf should warn because C does, that is a false assertion.
----------------------------------------
Bug #5763: sprintf not throwing error for wrong number of arguments
http://redmine.ruby-lang.org/issues/5763

Author: NagaChaitanya Vellanki
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 
ruby -v: ruby -v                                                                     [12:11:28] ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux] 


sprintf should raise error when the number of arguments does not match the number of format specifiers

sprintf with correct number of format specifiers, arguments
>> sprintf('%s', 'hello')
=> "hello"

sprintf with a single format specifier and two arguments
>> sprintf('%s', 'hello', 'world!')
=> "hello"

sprintf with three format specifiers and two arguments
>> sprintf('%s-%s-%s', 'hello', 'world!')
ArgumentError: too few arguments
        from (irb):3:in `sprintf'
        from (irb):3
        from /home/chaitanyav/development/tools_64/bin/irb:12:in `<main>'



-- 
http://redmine.ruby-lang.org