Copying void * string to

Martin Phillips martinphillips at ladybridge.com
Wed Feb 10 07:07:49 EST 2016


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.

 

Thanks in advance.

 

 

Martin



More information about the Python-list mailing list