summaryrefslogtreecommitdiffstatshomepage
path: root/shared/memzip/lexermemzip.c
blob: 1915a04c01eef56c8a205113f8ae4297deab2609 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdlib.h>

#include "py/lexer.h"
#include "py/runtime.h"
#include "py/mperrno.h"
#include "memzip.h"

mp_lexer_t *mp_lexer_new_from_file(qstr filename)
{
    void *data;
    size_t len;

    if (memzip_locate(qstr_str(filename), &data, &len) != MZ_OK) {
        mp_raise_OSError(MP_ENOENT);
    }

    return mp_lexer_new_from_str_len(filename, (const char *)data, (mp_uint_t)len, 0);
}