summaryrefslogtreecommitdiffhomepage
path: root/src/dump.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-01-08 00:40:45 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-01-08 00:40:45 +0900
commita1131361d54193b982193b15016426ff1faac92d (patch)
tree3b9dcea582324a86f81a2dc074fa97d25cda0b9f /src/dump.c
parent78ab979ef9f86cfcc91bf08db31eab716ee19933 (diff)
downloadmruby-a1131361d54193b982193b15016426ff1faac92d.tar.gz
mruby-a1131361d54193b982193b15016426ff1faac92d.zip
dump.c: wrong filename table dump for multiple script files; close #1648
Diffstat (limited to 'src/dump.c')
-rw-r--r--src/dump.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/dump.c b/src/dump.c
index f1fc56d8e..204e441d1 100644
--- a/src/dump.c
+++ b/src/dump.c
@@ -595,6 +595,9 @@ write_filename_table(mrb_state *mrb, mrb_irep *irep, uint8_t **cp, mrb_sym **fp,
size += sizeof(uint16_t) + fn_len;
}
+ for (file_i=0; file_i<irep->rlen; file_i++) {
+ size += write_filename_table(mrb, irep->reps[file_i], &cur, fp, lp);
+ }
*cp = cur;
return size;
}
@@ -606,7 +609,7 @@ write_section_debug(mrb_state *mrb, mrb_irep *irep, uint8_t *cur)
const uint8_t *bin = cur;
struct rite_section_debug_header *header;
mrb_sym *filenames;
- size_t filenames_len = 0, i;
+ size_t filenames_len = 0;
uint8_t *filenames_len_out;
uint32_t dlen;
@@ -624,9 +627,6 @@ write_section_debug(mrb_state *mrb, mrb_irep *irep, uint8_t *cur)
cur += sizeof(uint16_t);
section_size += sizeof(uint16_t);
section_size += write_filename_table(mrb, irep, &cur, &filenames, &filenames_len);
- for (i=0; i<irep->rlen; i++) {
- section_size += write_filename_table(mrb, irep->reps[i], &cur, &filenames, &filenames_len);
- }
uint16_to_bin(filenames_len, filenames_len_out);
// debug records