diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-31 10:26:01 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-31 10:26:01 +0000 |
commit | 3642fa19920a3ad567ead8b1211fdac9a4e963d1 (patch) | |
tree | 7467eef69384596cecd3ac67c5dc922ee7ffd664 | |
parent | 4acf013ffd0fa36b278a742226fb853fb594d8a0 (diff) |
* 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
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | regparse.c | 4 | ||||
-rw-r--r-- | test/ruby/test_regexp.rb | 4 |
3 files changed, 11 insertions, 2 deletions
@@ -1,3 +1,8 @@ +Mon May 31 19:25:58 2010 Nobuyoshi Nakada <[email protected]> + + * regparse.c (onig_syntax_warn): do not use external strings as + printf format. + Mon May 31 18:22:23 2010 Nobuyoshi Nakada <[email protected]> * 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 |