diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | regcomp.c | 6 | ||||
-rw-r--r-- | regexec.c | 5 |
3 files changed, 18 insertions, 4 deletions
@@ -1,3 +1,14 @@ +Thu Nov 25 23:10:49 2010 NARUSE, Yui <[email protected]> + + * 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 <[email protected]> * ext/dl/callback/mkcallback.rb (gencallback): shouldn't assume that @@ -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; @@ -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 |