From 14428f09b1c75071b7bcd86fb6c7a92790301d17 Mon Sep 17 00:00:00 2001 From: ko1 Date: Fri, 24 Jul 2015 21:01:09 +0000 Subject: * vm_core.h: constify rb_iseq_constant_body::line_info_table. * iseq.c: catch up this fix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ iseq.c | 7 ++++--- vm_core.h | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index a311d2dc58..e63c8c3af6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat Jul 25 06:00:09 2015 Koichi Sasada + + * vm_core.h: constify rb_iseq_constant_body::line_info_table. + + * iseq.c: catch up this fix. + Sat Jul 25 05:56:43 2015 Koichi Sasada * vm_core.h: constify rb_iseq_constant_body::param::opt_table and diff --git a/iseq.c b/iseq.c index 2be4f89e66..20b7dc77a2 100644 --- a/iseq.c +++ b/iseq.c @@ -1060,11 +1060,11 @@ iseqw_to_a(VALUE self) /* TODO: search algorithm is brute force. this should be binary search or so. */ -static struct iseq_line_info_entry * +static const struct iseq_line_info_entry * get_line_info(const rb_iseq_t *iseq, size_t pos) { size_t i = 0, size = iseq->body->line_info_size; - struct iseq_line_info_entry *table = iseq->body->line_info_table; + const struct iseq_line_info_entry *table = iseq->body->line_info_table; const int debug = 0; if (debug) { @@ -1098,7 +1098,8 @@ get_line_info(const rb_iseq_t *iseq, size_t pos) static unsigned int find_line_no(const rb_iseq_t *iseq, size_t pos) { - struct iseq_line_info_entry *entry = get_line_info(iseq, pos); + const struct iseq_line_info_entry *entry = get_line_info(iseq, pos); + if (entry) { return entry->line_no; } diff --git a/vm_core.h b/vm_core.h index 3345607856..e173fabb8e 100644 --- a/vm_core.h +++ b/vm_core.h @@ -330,7 +330,7 @@ struct rb_iseq_constant_body { rb_iseq_location_t location; /* insn info, must be freed */ - struct iseq_line_info_entry *line_info_table; + const struct iseq_line_info_entry *line_info_table; const ID *local_table; /* must free */ -- cgit v1.2.3