Skip to content
Snippets Groups Projects
Commit 44d0f3cf authored by Paul Sokolovsky's avatar Paul Sokolovsky
Browse files

Handle return value of read() call.

parent de690d12
No related branches found
No related tags found
No related merge requests found
...@@ -48,8 +48,13 @@ mp_lexer_t *mp_lexer_new_from_file(const char *filename) { ...@@ -48,8 +48,13 @@ mp_lexer_t *mp_lexer_new_from_file(const char *filename) {
uint size = lseek(fd, 0, SEEK_END); uint size = lseek(fd, 0, SEEK_END);
lseek(fd, 0, SEEK_SET); lseek(fd, 0, SEEK_SET);
char *data = m_new(char, size); char *data = m_new(char, size);
read(fd, data, size); int read_size = read(fd, data, size);
close(fd); close(fd);
if (read_size != size) {
printf("error reading file %s\n", filename);
m_free(data);
return NULL;
}
return mp_lexer_new_from_str_len(filename, data, size, true); return mp_lexer_new_from_str_len(filename, data, size, true);
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment