From bd98301784605e72eb8b4c61cae9cb57c802dea1 Mon Sep 17 00:00:00 2001 From: naruse Date: Thu, 25 Nov 2010 14:14:44 +0000 Subject: * regcomp.c (print_distance_range): use PRIuSIZE. * regcomp.c (print_optimize_info): use %ld because the type of calcutated value of integers is long. * regexec.c (onig_print_compiled_byte_code): add prototype. * regexec.c (match_at): add 2nd argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 11 +++++++++++ regcomp.c | 6 +++--- regexec.c | 5 ++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index a6047b5156..358715e370 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +Thu Nov 25 23:10:49 2010 NARUSE, Yui + + * regcomp.c (print_distance_range): use PRIuSIZE. + + * regcomp.c (print_optimize_info): use %ld because the type of + calcutated value of integers is long. + + * regexec.c (onig_print_compiled_byte_code): add prototype. + + * regexec.c (match_at): add 2nd argument. + Thu Nov 25 10:29:55 2010 NAKAMURA Usaku * ext/dl/callback/mkcallback.rb (gencallback): shouldn't assume that diff --git a/regcomp.c b/regcomp.c index 5fd4a24077..d946b3f860 100644 --- a/regcomp.c +++ b/regcomp.c @@ -5093,14 +5093,14 @@ print_distance_range(FILE* f, OnigDistance a, OnigDistance b) if (a == ONIG_INFINITE_DISTANCE) fputs("inf", f); else - fprintf(f, "(%u)", a); + fprintf(f, "(%"PRIuSIZE")", a); fputs("-", f); if (b == ONIG_INFINITE_DISTANCE) fputs("inf", f); else - fprintf(f, "(%u)", b); + fprintf(f, "(%"PRIuSIZE")", b); } static void @@ -5176,7 +5176,7 @@ print_optimize_info(FILE* f, regex_t* reg) for (p = reg->exact; p < reg->exact_end; p++) { fputc(*p, f); } - fprintf(f, "]: length: %d\n", (reg->exact_end - reg->exact)); + fprintf(f, "]: length: %ld\n", (reg->exact_end - reg->exact)); } else if (reg->optimize & ONIG_OPTIMIZE_MAP) { int c, i, n = 0; diff --git a/regexec.c b/regexec.c index c03e6e3062..0c2f574f81 100644 --- a/regexec.c +++ b/regexec.c @@ -1240,6 +1240,9 @@ typedef struct { regoff_t rm_eo; } posix_regmatch_t; +void onig_print_compiled_byte_code(FILE* f, UChar* bp, UChar* bpend, UChar** nextp, + OnigEncoding enc); + /* match data(str - end) from position (sstart). */ /* if sstart == str then set sprev to NULL. */ static long @@ -1314,7 +1317,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end, *bp = 0; fputs((char* )buf, stderr); for (i = 0; i < 20 - (bp - buf); i++) fputc(' ', stderr); - onig_print_compiled_byte_code(stderr, p, NULL, encode); + onig_print_compiled_byte_code(stderr, p, p + strlen((char *)p), NULL, encode); fprintf(stderr, "\n"); } #endif -- cgit v1.2.3