summaryrefslogtreecommitdiffstatshomepage
path: root/teensy/lexermemzip.c
diff options
context:
space:
mode:
Diffstat (limited to 'teensy/lexermemzip.c')
-rw-r--r--teensy/lexermemzip.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/teensy/lexermemzip.c b/teensy/lexermemzip.c
new file mode 100644
index 0000000000..2f808ee429
--- /dev/null
+++ b/teensy/lexermemzip.c
@@ -0,0 +1,18 @@
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "misc.h"
+#include "lexer.h"
+#include "memzip.h"
+
+mp_lexer_t *mp_lexer_new_from_memzip_file(const char *filename)
+{
+ void *data;
+ size_t len;
+
+ if (memzip_locate(filename, &data, &len) != MZ_OK) {
+ return NULL;
+ }
+ return mp_lexer_new_from_str_len(filename, (const char *)data, (uint)len, 0);
+}
+