diff options
author | Damien George <damien.p.george@gmail.com> | 2016-11-16 18:12:55 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2016-11-16 18:13:51 +1100 |
commit | 66d955c218b66076a3d4300f70388c634c0d3099 (patch) | |
tree | 57756a4ded0ec27601a2517cf59c17c9c9bebad6 /py/lexer.c | |
parent | e5ef15a9d7bead2a60009caedbc128a8906c7ecd (diff) |
py/lexer: Rewrite mp_lexer_new_from_fd in terms of mp_reader.
Diffstat (limited to 'py/lexer.c')
-rw-r--r-- | py/lexer.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/py/lexer.c b/py/lexer.c index d3e61b3b4..9342ce8cc 100644 --- a/py/lexer.c +++ b/py/lexer.c @@ -770,6 +770,19 @@ mp_lexer_t *mp_lexer_new_from_file(const char *filename) { return mp_lexer_new(qstr_from_str(filename), reader.data, (mp_lexer_stream_next_byte_t)reader.readbyte, (mp_lexer_stream_close_t)reader.close); } +#if MICROPY_HELPER_LEXER_UNIX + +mp_lexer_t *mp_lexer_new_from_fd(qstr filename, int fd, bool close_fd) { + mp_reader_t reader; + int ret = mp_reader_new_file_from_fd(&reader, fd, close_fd); + if (ret != 0) { + return NULL; + } + return mp_lexer_new(filename, reader.data, (mp_lexer_stream_next_byte_t)reader.readbyte, (mp_lexer_stream_close_t)reader.close); +} + +#endif + #endif void mp_lexer_free(mp_lexer_t *lex) { |