From ba07b178a7c50ebfd406f4c7f48021309684dc35 Mon Sep 17 00:00:00 2001
From: Ian Bell <ian.bell@nist.gov>
Date: Thu, 1 Jun 2023 09:58:23 -0400
Subject: [PATCH] Update caller of C interface shared library

---
 interface/C/test_teqpc.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/interface/C/test_teqpc.py b/interface/C/test_teqpc.py
index fd2cfb8..2867c9a 100644
--- a/interface/C/test_teqpc.py
+++ b/interface/C/test_teqpc.py
@@ -21,9 +21,9 @@ class DLLCaller():
     def build_model(self, model):
         f = self._getfcn(self.dll, 'build_model')
         hrf = ct.create_string_buffer(json.dumps(model).encode('utf-8'))
-        uid = ct.create_string_buffer(200)
+        uid = ct.c_longlong()
         errmsg = ct.create_string_buffer(1000)
-        errcode = f(hrf, uid, errmsg, len(errmsg))
+        errcode = f(hrf, ct.byref(uid), errmsg, len(errmsg))
         if errcode == 0:
             return uid
         else:
@@ -43,13 +43,13 @@ class DLLCaller():
         errcode = f(uid, NT, ND, T, rho, molefrac, Ncomp, ct.byref(o), errmsg, len(errmsg))
         toc = timeit.default_timer()
         if errcode == 0:
-            return o
+            return o.value
         else:
             raise ValueError(trim(errmsg))
 
 if __name__ == '__main__':
     # Now load the library
-    c = DLLCaller(full_path = '../../bld/Release/teqpc.dll')
+    c = DLLCaller(full_path = '../../bld/Release/libteqpc.dylib') # or .dll on windows
     model = {
       'kind': 'vdW1',
       'model': {'a': 1, 'b': 2}
-- 
GitLab