Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
b5b1f2c5
Commit
b5b1f2c5
authored
Nov 20, 2015
by
Damien George
Browse files
py/emitglue: Add mp_raw_code_load_mem to load raw-code from memory.
parent
f148727b
Changes
2
Hide whitespace changes
Inline
Side-by-side
py/emitglue.c
View file @
b5b1f2c5
...
...
@@ -324,6 +324,26 @@ mp_raw_code_t *mp_raw_code_load(mp_reader_t *reader) {
return
load_raw_code
(
reader
);
}
typedef
struct
_mp_mem_reader_t
{
const
byte
*
cur
;
const
byte
*
end
;
}
mp_mem_reader_t
;
STATIC
mp_uint_t
mp_mem_reader_next_byte
(
void
*
br_in
)
{
mp_mem_reader_t
*
br
=
br_in
;
if
(
br
->
cur
<
br
->
end
)
{
return
*
br
->
cur
++
;
}
else
{
return
(
mp_uint_t
)
-
1
;
}
}
mp_raw_code_t
*
mp_raw_code_load_mem
(
const
byte
*
buf
,
size_t
len
)
{
mp_mem_reader_t
mr
=
{
buf
,
buf
+
len
};
mp_reader_t
reader
=
{
&
mr
,
mp_mem_reader_next_byte
};
return
mp_raw_code_load
(
&
reader
);
}
// here we define mp_raw_code_load_file depending on the port
// TODO abstract this away properly
...
...
py/emitglue.h
View file @
b5b1f2c5
...
...
@@ -62,6 +62,7 @@ typedef struct _mp_reader_t {
}
mp_reader_t
;
mp_raw_code_t
*
mp_raw_code_load
(
mp_reader_t
*
reader
);
mp_raw_code_t
*
mp_raw_code_load_mem
(
const
byte
*
buf
,
size_t
len
);
mp_raw_code_t
*
mp_raw_code_load_file
(
const
char
*
filename
);
#endif
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment