From 3642fa19920a3ad567ead8b1211fdac9a4e963d1 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 31 May 2010 10:26:01 +0000 Subject: [PATCH] * regparse.c (onig_syntax_warn): do not use external strings as printf format. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ regparse.c | 4 ++-- test/ruby/test_regexp.rb | 4 ++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 73154960f1..fb5024bbe0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon May 31 19:25:58 2010 Nobuyoshi Nakada + + * regparse.c (onig_syntax_warn): do not use external strings as + printf format. + Mon May 31 18:22:23 2010 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-mode-set-encoding): skip shebang line diff --git a/regparse.c b/regparse.c index e413f55816..2caab909e1 100644 --- a/regparse.c +++ b/regparse.c @@ -2859,9 +2859,9 @@ onig_syntax_warn(ScanEnv *env, const char *fmt, ...) (const UChar *)fmt, args); va_end(args); if (env->sourcefile == NULL) - rb_warn((char *)buf); + rb_warn("%s", (char *)buf); else - rb_compile_warn(env->sourcefile, env->sourceline, (char *)buf); + rb_compile_warn(env->sourcefile, env->sourceline, "%s", (char *)buf); } static void diff --git a/test/ruby/test_regexp.rb b/test/ruby/test_regexp.rb index e853ee0369..12a2fa96fc 100644 --- a/test/ruby/test_regexp.rb +++ b/test/ruby/test_regexp.rb @@ -823,4 +823,8 @@ class TestRegexp < Test::Unit::TestCase assert_in_out_err('-w', 'x=/[\u3042\u3042]/', [], /duplicated/) assert_in_out_err('-w', 'x=/[\u3042\u3041-\u3043]/', [], /duplicated/) end + + def test_property_warn + assert_in_out_err('-w', 'x=/\p%s/', [], %r"warning: invalid Unicode Property \\p: /\\p%s/") + end end