summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-05-31 10:26:01 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-05-31 10:26:01 +0000
commite0fe9a8eec481817eac7d8a6b11152992ccff3b9 (patch)
treea0c2d3419a2583cdd615a934274b65b5b420c0dc
parente3a1701442eef72602449a5f27c6b94e45881430 (diff)
* regparse.c (onig_syntax_warn): do not use external strings as
printf format. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--regparse.c4
-rw-r--r--test/ruby/test_regexp.rb4
3 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 84914f815d..3e38e717fb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon May 31 19:25:58 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * regparse.c (onig_syntax_warn): do not use external strings as
+ printf format.
+
Mon May 31 18:22:23 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* 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