* re.c (rb_reg_expr_str): use \xHH instead of \OOO.

* regerror.c (to_ascii): ditto.
  (onig_snprintf_with_pattern): ditto.
  (onig_snprintf_with_pattern): ditto.

* string.c (rb_str_inspect): ditto.
  (rb_str_dump): ditto.

* parse.y (parser_yylex): ditto.

* ruby.c (proc_options): ditto.

* file.c (rb_f_test): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2007-12-09 21:48:05 +00:00
parent 08eb58d3dd
commit f4592d7bb0
9 changed files with 28 additions and 11 deletions

View File

@ -1,3 +1,20 @@
Mon Dec 10 06:44:47 2007 Tanaka Akira <akr@fsij.org>
* re.c (rb_reg_expr_str): use \xHH instead of \OOO.
* regerror.c (to_ascii): ditto.
(onig_snprintf_with_pattern): ditto.
(onig_snprintf_with_pattern): ditto.
* string.c (rb_str_inspect): ditto.
(rb_str_dump): ditto.
* parse.y (parser_yylex): ditto.
* ruby.c (proc_options): ditto.
* file.c (rb_f_test): ditto.
Mon Dec 10 06:41:00 2007 Tanaka Akira <akr@fsij.org>
* re.c (rb_reg_names): new method Regexp#names.

2
file.c
View File

@ -3486,7 +3486,7 @@ rb_f_test(int argc, VALUE *argv)
rb_raise(rb_eArgError, "unknown command ?%c", cmd);
}
else {
rb_raise(rb_eArgError, "unknown command ?\\%03o", cmd);
rb_raise(rb_eArgError, "unknown command ?\\x%02x", cmd);
}
return Qnil; /* not reached */
}

View File

@ -7070,7 +7070,7 @@ parser_yylex(struct parser_params *parser)
default:
if (!parser_is_identchar()) {
rb_compile_error(PARSER_ARG "Invalid char `\\%03o' in expression", c);
rb_compile_error(PARSER_ARG "Invalid char `\\x%02x' in expression", c);
goto retry;
}

2
re.c
View File

@ -259,7 +259,7 @@ rb_reg_expr_str(VALUE str, const char *s, long len)
else if (!rb_enc_isspace(c, enc)) {
char b[8];
sprintf(b, "\\%03o", c);
sprintf(b, "\\x%02x", c);
rb_str_buf_cat(str, b, 4);
}
else {

View File

@ -197,7 +197,7 @@ static int to_ascii(OnigEncoding enc, UChar *s, UChar *end,
code = ONIGENC_MBC_TO_CODE(enc, p, end);
if (code >= 0x80) {
if (len + 5 <= buf_size) {
sprintf((char* )(&(buf[len])), "\\%03o",
sprintf((char* )(&(buf[len])), "\\x%02x",
(unsigned int )(code & 0377));
len += 5;
}
@ -346,7 +346,7 @@ onig_snprintf_with_pattern(buf, bufsize, enc, pat, pat_end, fmt, va_alist)
int blen;
while (len-- > 0) {
sprintf((char* )bs, "\\%03o", *p++ & 0377);
sprintf((char* )bs, "\\x%02x", *p++ & 0377);
blen = onigenc_str_bytelen_null(ONIG_ENCODING_ASCII, bs);
bp = bs;
while (blen-- > 0) *s++ = *bp++;
@ -355,7 +355,7 @@ onig_snprintf_with_pattern(buf, bufsize, enc, pat, pat_end, fmt, va_alist)
}
else if (!ONIGENC_IS_CODE_PRINT(enc, *p) &&
!ONIGENC_IS_CODE_SPACE(enc, *p)) {
sprintf((char* )bs, "\\%03o", *p++ & 0377);
sprintf((char* )bs, "\\x%02x", *p++ & 0377);
len = onigenc_str_bytelen_null(ONIG_ENCODING_ASCII, bs);
bp = bs;
while (len-- > 0) *s++ = *bp++;

2
ruby.c
View File

@ -863,7 +863,7 @@ proc_options(int argc, char **argv, struct cmdline_options *opt)
}
else {
rb_raise(rb_eRuntimeError,
"invalid option -\\%03o (-h will show valid options)",
"invalid option -\\x%02x (-h will show valid options)",
(int)(unsigned char)*s);
}
}

View File

@ -2971,7 +2971,7 @@ rb_str_inspect(VALUE str)
escape_codepoint:
for (q = p-n; q < p; q++) {
s = buf;
sprintf(buf, "\\%03o", *q & 0377);
sprintf(buf, "\\x%02x", *q & 0377);
while (*s) {
str_cat_char(result, *s++, enc);
}
@ -3083,7 +3083,7 @@ rb_str_dump(VALUE str)
}
else {
*q++ = '\\';
sprintf(q, "%03o", c&0xff);
sprintf(q, "x%02x", c&0xff);
q += 3;
}
}

View File

@ -37,7 +37,7 @@ class TestRegexp < Test::Unit::TestCase
end
def test_to_s
assert_equal '(?-mix:\000)', Regexp.new("\0").to_s
assert_equal '(?-mix:\x00)', Regexp.new("\0").to_s
end
def test_union

View File

@ -444,7 +444,7 @@ class TestString < Test::Unit::TestCase
def test_dump
a= S("Test") << 1 << 2 << 3 << 9 << 13 << 10
assert_equal(S('"Test\\001\\002\\003\\t\\r\\n"'), a.dump)
assert_equal(S('"Test\\x01\\x02\\x03\\t\\r\\n"'), a.dump)
end
def test_dup