diff options
author | Szczepan Zalega <szczepan@nitrokey.com> | 2016-08-04 11:24:17 +0200 |
---|---|---|
committer | Szczepan Zalega <szczepan@nitrokey.com> | 2016-08-05 10:17:30 +0200 |
commit | fd95d2ec8b0160657709f1655887739191f33932 (patch) | |
tree | ed80a086ac0da394b2a17fa9c999c3abe4aa99c9 | |
parent | 7d98b54afa3f2276c058dccf38bcfa34a35ed4bb (diff) | |
download | libnitrokey-fd95d2ec8b0160657709f1655887739191f33932.tar.gz libnitrokey-fd95d2ec8b0160657709f1655887739191f33932.tar.bz2 |
Handle C API declarations done in multiple lines
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
-rw-r--r-- | unittest/test_bindings.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/unittest/test_bindings.py b/unittest/test_bindings.py index d65eeaf..fa78409 100644 --- a/unittest/test_bindings.py +++ b/unittest/test_bindings.py @@ -30,10 +30,13 @@ def C(request): with open(fp, 'r') as f: declarations = f.readlines() - for declaration in declarations: + a = iter(declarations) + for declaration in a: # extern int NK_write_totp_slot(int slot_number, char* secret, int time_window); - if 'extern' in declaration and not '"C"' in declaration: + if declaration.startswith('extern') and not '"C"' in declaration: declaration = declaration.replace('extern', '').strip() + while not ';' in declaration: + declaration += (next(a)).strip() print(declaration) ffi.cdef(declaration) |