bugfix: correctly build argv when using Python interface

This commit is contained in:
Richard Berger
2023-11-09 20:29:14 -07:00
parent 053a904d08
commit eff65ad3f3

View File

@ -379,8 +379,9 @@ class lammps(object):
for i in range(narg): for i in range(narg):
if type(cmdargs[i]) is str: if type(cmdargs[i]) is str:
cmdargs[i] = cmdargs[i].encode() cmdargs[i] = cmdargs[i].encode()
cargs = (c_char_p*narg)(*cmdargs) cargs = (c_char_p*(narg+1))(*cmdargs)
self.lib.lammps_open.argtypes = [c_int, c_char_p*narg, MPI_Comm, c_void_p] cargs[narg] = None
self.lib.lammps_open.argtypes = [c_int, c_char_p*(narg+1), MPI_Comm, c_void_p]
else: else:
self.lib.lammps_open.argtypes = [c_int, c_char_p, MPI_Comm, c_void_p] self.lib.lammps_open.argtypes = [c_int, c_char_p, MPI_Comm, c_void_p]
@ -399,8 +400,9 @@ class lammps(object):
for i in range(narg): for i in range(narg):
if type(cmdargs[i]) is str: if type(cmdargs[i]) is str:
cmdargs[i] = cmdargs[i].encode() cmdargs[i] = cmdargs[i].encode()
cargs = (c_char_p*narg)(*cmdargs) cargs = (c_char_p*(narg+1))(*cmdargs)
self.lib.lammps_open_no_mpi.argtypes = [c_int, c_char_p*narg, c_void_p] cargs[narg] = None
self.lib.lammps_open_no_mpi.argtypes = [c_int, c_char_p*(narg+1), c_void_p]
self.lmp = c_void_p(self.lib.lammps_open_no_mpi(narg,cargs,None)) self.lmp = c_void_p(self.lib.lammps_open_no_mpi(narg,cargs,None))
else: else:
self.lib.lammps_open_no_mpi.argtypes = [c_int, c_char_p, c_void_p] self.lib.lammps_open_no_mpi.argtypes = [c_int, c_char_p, c_void_p]