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

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to