[libvirt] [PATCH] python: Expose memoryPeek to Python binding

Osier Yang jyang at redhat.com
Wed Dec 14 03:43:09 UTC 2011


On 2011年12月14日 02:38, Eric Blake wrote:
> On 12/13/2011 06:43 AM, Osier Yang wrote:
>> ---
>>   python/libvirt-override-api.xml |    8 ++++++++
>>   python/libvirt-override.c       |   33 +++++++++++++++++++++++++++++++++
>>   2 files changed, 41 insertions(+), 0 deletions(-)
>>
>
>> +    if ((buf = malloc(size)) == NULL)
>> +        return VIR_PY_NONE;
>> +
>> +    LIBVIRT_BEGIN_ALLOW_THREADS;
>> +    c_retval = virDomainMemoryPeek(domain, start, size, buf, flags);
>> +    LIBVIRT_END_ALLOW_THREADS;
>> +
>> +    if (c_retval<  0)
>> +        return VIR_PY_NONE;
>> +
>> +    py_retval = libvirt_charPtrWrap(buf);
>> +    return py_retval;
>
> Same problems as for blockPeek.  I don't know if
> PyString_FromStringAndSize will do what you want, but that's my guess,
> based on its use for VIR_UUID_BUFLEN arrays.
>

Actually I found the problem after the patch was posted,
I got the empty output with a testing script. And yes,
PyString_fromStringAndSize worked well. Though with using
it the output is one byte different with using C API
directly, I'm still looking.

Osier




More information about the libvir-list mailing list