summaryrefslogtreecommitdiffstatshomepage
path: root/py
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-04-19 00:21:22 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-04-19 03:18:14 +0300
commit5695e07256413fab8b280a939c264b06f7f5793f (patch)
tree30e0eecb9199dfdbf669c788920cb9545d85e07e /py
parent752d2080b7af5b2bdd1328d17c87ccc5501c1e6a (diff)
downloadmicropython-5695e07256413fab8b280a939c264b06f7f5793f.tar.gz
micropython-5695e07256413fab8b280a939c264b06f7f5793f.zip
modstruct: Support 'q' & 'Q' type codes.
Diffstat (limited to 'py')
-rw-r--r--py/binary.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/py/binary.c b/py/binary.c
index d3dd009546..0c9db9bd80 100644
--- a/py/binary.c
+++ b/py/binary.c
@@ -92,6 +92,8 @@ mp_obj_t mp_binary_get_val(char struct_type, char val_type, byte **ptr) {
size = 4; break;
case 'l': case 'L':
size = 4; break;
+ case 'q': case 'Q':
+ size = 8; break;
}
break;
case '@': {
@@ -112,6 +114,9 @@ mp_obj_t mp_binary_get_val(char struct_type, char val_type, byte **ptr) {
align = size = sizeof(int); break;
case 'l': case 'L':
align = size = sizeof(long); break;
+ case 'q': case 'Q':
+ // TODO: This is for x86
+ align = sizeof(int); size = sizeof(long long); break;
}
// Make pointer aligned
p = (byte*)(((machine_uint_t)p + align - 1) & ~(align - 1));