diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-04-19 00:21:22 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-04-19 03:18:14 +0300 |
commit | 5695e07256413fab8b280a939c264b06f7f5793f (patch) | |
tree | 30e0eecb9199dfdbf669c788920cb9545d85e07e /py | |
parent | 752d2080b7af5b2bdd1328d17c87ccc5501c1e6a (diff) | |
download | micropython-5695e07256413fab8b280a939c264b06f7f5793f.tar.gz micropython-5695e07256413fab8b280a939c264b06f7f5793f.zip |
modstruct: Support 'q' & 'Q' type codes.
Diffstat (limited to 'py')
-rw-r--r-- | py/binary.c | 5 |
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)); |