diff options
author | Szczepan Zalega <szczepan@nitrokey.com> | 2016-08-05 18:23:04 +0200 |
---|---|---|
committer | Szczepan Zalega <szczepan@nitrokey.com> | 2016-08-05 20:32:45 +0200 |
commit | a579c6906f9f7fe6e19c70a44f74c0d2148c8085 (patch) | |
tree | 62fc5f5af737736ec583cc43883cf78dc1329b7f | |
parent | 2befc01bbdd43f7a1a97b9e39df53ba3ff25c25f (diff) | |
download | libnitrokey-a579c6906f9f7fe6e19c70a44f74c0d2148c8085.tar.gz libnitrokey-a579c6906f9f7fe6e19c70a44f74c0d2148c8085.tar.bz2 |
Bindings example update
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
-rw-r--r-- | README.md | 9 | ||||
-rwxr-xr-x | python_bindings_example.py | 7 |
2 files changed, 11 insertions, 5 deletions
@@ -44,13 +44,16 @@ get_string = ffi.string def get_library(): fp = 'NK_C_API.h' # path to C API header - declarations = [] + declarations = [] with open(fp, 'r') as f: declarations = f.readlines() - for declaration in declarations: - if 'extern' in declaration and not '"C"' in declaration: + a = iter(declarations) + for declaration in a: + 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) diff --git a/python_bindings_example.py b/python_bindings_example.py index a690874..31cf285 100755 --- a/python_bindings_example.py +++ b/python_bindings_example.py @@ -12,9 +12,12 @@ def get_library(): with open(fp, 'r') as f: declarations = f.readlines() - for declaration in declarations: - if 'extern' in declaration and not '"C"' in declaration: + a = iter(declarations) + for declaration in a: + 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) |