From ec6c4298bc94d88f1bbfa000675e99a08914ceed Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 17 May 2006 09:14:34 +0000 Subject: * dir.c (sys_warning): should not call a vararg function rb_sys_warning() indirectly. [ruby-core:07886] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ dir.c | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index aa901fc99..0b8d4eaf8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed May 17 17:55:26 2006 Yukihiro Matsumoto + + * dir.c (sys_warning): should not call a vararg function + rb_sys_warning() indirectly. [ruby-core:07886] + Wed May 17 08:17:15 2006 Yukihiro Matsumoto * util.c (ruby_strtod): try to reduce errors using powersOf10 diff --git a/dir.c b/dir.c index 83feef93f..266c4ece0 100644 --- a/dir.c +++ b/dir.c @@ -799,9 +799,16 @@ dir_s_rmdir(obj, dir) return INT2FIX(0); } +static void +sys_warning_1(mesg) + const char* mesg; +{ + rb_sys_warning("%s", mesg); +} + #define GLOB_VERBOSE (1 << (sizeof(int) * CHAR_BIT - 1)) #define sys_warning(val) \ - ((flags & GLOB_VERBOSE) && rb_protect((VALUE (*)_((VALUE)))rb_sys_warning, (VALUE)(val), 0)) + ((flags & GLOB_VERBOSE) && rb_protect((VALUE (*)_((VALUE)))sys_warning_1, (VALUE)(val), 0)) /* Return nonzero if S has any special globbing chars in it. */ static int -- cgit