Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #102763
| From | Ian Kelly <ian.g.kelly@gmail.com> |
|---|---|
| Newsgroups | comp.lang.python |
| Subject | Re: Copying void * string to |
| Date | 2016-02-10 08:30 -0700 |
| Message-ID | <mailman.13.1455118266.22075.python-list@python.org> (permalink) |
| References | <004a01d163fb$aa7d8930$ff789b90$@ladybridge.com> |
On Wed, Feb 10, 2016 at 5:07 AM, Martin Phillips <martinphillips@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?
Back to comp.lang.python | Previous | Next | Find similar | Unroll thread
Re: Copying void * string to Ian Kelly <ian.g.kelly@gmail.com> - 2016-02-10 08:30 -0700
csiph-web