diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2006-11-15 19:40:00 +0000 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2006-11-15 19:40:00 +0000 |
commit | c4726cbadbd3cc45ab8873a807d624890729502c (patch) | |
tree | d7de1ef877f9eba185215b86f4ce596e40476010 | |
parent | e8a0109538b79471154739ee341b941170cf76f9 (diff) | |
download | libvirt-python-split-c4726cbadbd3cc45ab8873a807d624890729502c.tar.gz libvirt-python-split-c4726cbadbd3cc45ab8873a807d624890729502c.tar.xz libvirt-python-split-c4726cbadbd3cc45ab8873a807d624890729502c.zip |
Fix unsigned long wraparound in python binding
-rw-r--r-- | libvir.c | 4 | ||||
-rw-r--r-- | libvirt_wrap.h | 1 | ||||
-rw-r--r-- | types.c | 12 |
3 files changed, 15 insertions, 2 deletions
@@ -261,8 +261,8 @@ libvirt_virDomainGetInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { } py_retval = PyList_New(5); PyList_SetItem(py_retval, 0, libvirt_intWrap((int) info.state)); - PyList_SetItem(py_retval, 1, libvirt_longWrap((long) info.maxMem)); - PyList_SetItem(py_retval, 2, libvirt_longWrap((long) info.memory)); + PyList_SetItem(py_retval, 1, libvirt_ulongWrap(info.maxMem)); + PyList_SetItem(py_retval, 2, libvirt_ulongWrap(info.memory)); PyList_SetItem(py_retval, 3, libvirt_intWrap((int) info.nrVirtCpu)); PyList_SetItem(py_retval, 4, libvirt_longlongWrap((unsigned long long) info.cpuTime)); diff --git a/libvirt_wrap.h b/libvirt_wrap.h index 906245a..8bcfdb3 100644 --- a/libvirt_wrap.h +++ b/libvirt_wrap.h @@ -41,6 +41,7 @@ typedef struct { PyObject * libvirt_intWrap(int val); PyObject * libvirt_longWrap(long val); +PyObject * libvirt_ulongWrap(unsigned long val); PyObject * libvirt_longlongWrap(long long val); PyObject * libvirt_charPtrWrap(char *str); PyObject * libvirt_constcharPtrWrap(const char *str); @@ -34,6 +34,18 @@ libvirt_longWrap(long val) } PyObject * +libvirt_ulongWrap(unsigned long val) +{ + PyObject *ret; + +#ifdef DEBUG + printf("libvirt_ulongWrap: val = %lu\n", val); +#endif + ret = PyLong_FromLong(val); + return (ret); +} + +PyObject * libvirt_longlongWrap(long long val) { PyObject *ret; |