Copying void * string to
Ian Kelly
ian.g.kelly at gmail.com
Wed Feb 10 10:30:16 EST 2016
On Wed, Feb 10, 2016 at 5:07 AM, Martin Phillips
<martinphillips at ladybridge.com> wrote:
> I am writing a Python wrapper to go around a C library. I have encountered a problem that I have been unable to resolve with
> countless web searches.
>
>
>
> Several functions in the C library return pointers to dynamically allocated w_char null terminated strings. I need to copy the
> string to a Python variable and call an existing library function that will free the dynamically allocate memory.
>
>
>
> My test code for this is
>
>
>
> def Test(fno, item):
>
> func = mylib. MyFunc
>
> func.restype = ct.c_void_p
>
> s = func(fno, item)
>
> result = s
>
> mylib.free(s)
>
> return result
>
>
>
> The problem is with the line that sets the result variable. I need this to make a copy of the dynamically allocated string, not the
> pointer to it.
Does ctypes.wstring_at(s) do what you want?
More information about the Python-list
mailing list