summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sprintf.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ad3356279c..e63fa6dd18 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Mar 28 06:18:27 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * sprintf.c (GETNAMEARG): remembers named arg is used, to get rid
+ of too many arguments warning.
+
Sat Mar 28 03:16:59 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/mkmf.rb (link_command, cc_command, cpp_command): should no
diff --git a/sprintf.c b/sprintf.c
index 58dedd3820..81911703fd 100644
--- a/sprintf.c
+++ b/sprintf.c
@@ -123,7 +123,7 @@ sign_bits(int base, const char *p)
(rb_raise(rb_eArgError, "named after unnumbered(%d)", posarg), 0) : \
posarg == -1 ? \
(rb_raise(rb_eArgError, "named after numbered"), 0) : \
- rb_hash_fetch(get_hash(&hash, argc, argv), id))
+ (posarg = -2, rb_hash_lookup(get_hash(&hash, argc, argv), id)))
#define GETNUM(n, val) \
for (; p < end && rb_enc_isdigit(*p, enc); p++) { \