fix crash when compiling empty file

closes #90
master
Andrew Kelley 2016-01-27 12:06:47 -07:00
parent fa1ea6062b
commit fe0c6a3df9
2 changed files with 8 additions and 2 deletions

View File

@ -80,9 +80,12 @@ ErrorMsg *err_msg_create_with_line(Buf *path, int line, int column,
int line_start_offset = line_offsets->at(line);
int end_line = line + 1;
int line_end_offset = (end_line >= line_offsets->length) ? buf_len(source) : line_offsets->at(line + 1);
int len = line_end_offset - line_start_offset - 1;
if (len < 0) {
len = 0;
}
buf_init_from_mem(&err_msg->line_buf, buf_ptr(source) + line_start_offset,
line_end_offset - line_start_offset - 1);
buf_init_from_mem(&err_msg->line_buf, buf_ptr(source) + line_start_offset, len);
return err_msg;
}

View File

@ -1680,6 +1680,9 @@ c_import {
)SOURCE", 2, ".tmp_source.zig:2:1: error: C import failed",
".h:1:10: error: 'bogus.h' file not found");
add_compile_fail_case("empty file", "",
1, ".tmp_source.zig:1:1: error: missing export declaration and output name not provided");
}
static void print_compiler_invocation(TestCase *test_case) {