-/*
+/* $Id$
* Copyright (C) 2008 Daniel Hokka Zakrisson
*
* This program is free software; you can redistribute it and/or
}
static PyObject *
-
pyvserver_get_version(PyObject UNUSED *self, PyObject UNUSED *args)
{
int ver = vc_get_version();
if (vc_virt_stat(xid, &stats) == -1)
return PyErr_SetFromErrno(PyExc_OSError);
- return Py_BuildValue("(KKIIIII(III))", stats.offset, stats.uptime,
+ return Py_BuildValue("(KKIIIIIIII)", stats.offset, stats.uptime,
stats.nr_threads, stats.nr_running,
stats.nr_uninterruptible, stats.nr_onhold,
stats.nr_forks, stats.load[0], stats.load[1],
xid_t xid;
struct vc_ctx_flags flags;
- if (!PyArg_ParseTuple(args, "I(KK)", &xid, flags.flagword, flags.mask))
+ if (!PyArg_ParseTuple(args, "I(KK)", &xid, &flags.flagword, &flags.mask))
return NULL;
if (vc_set_cflags(xid, &flags) == -1)
xid_t xid;
vc_uts_type type;
char val[65];
+ int i;
if (!PyArg_ParseTuple(args, "Ii", &xid, &type))
return NULL;
if (vc_get_vhi_name(xid, type, val, sizeof(val)) == -1)
return PyErr_SetFromErrno(PyExc_OSError);
- return Py_BuildValue("s#", val, sizeof(val));
+ for (i = sizeof(val); i > 0 && val[i - 1] == '\0'; i--)
+ ;
+
+ return Py_BuildValue("s#", val, i);
}
static PyObject *
char const *str; \
int len; \
struct vc_err_listparser err; \
- list_type val; \
+ list_type val = { .mask_member = 0 }; \
\
if (!PyArg_ParseTuple(args, "s#", &str, &len)) \
return NULL; \
return;
}
+#if PY_MAJOR_VERSION == 2
PyMODINIT_FUNC init_libvserver(void)
{
PyObject *mod;
mod = Py_InitModule("_libvserver", methods);
#include "_libvserver-constants.c"
+ return mod;
+}
+#else
+PyMODINIT_FUNC
+PyInit__libvserver(void)
+{
+ static struct PyModuleDef lvmodule = {
+ PyModuleDef_HEAD_INIT,
+ "_libvserver",
+ NULL,
+ -1,
+ methods
+ };
+ PyObject *mod = PyModule_Create(&lvmodule);
+#include "_libvserver-constants.c"
+ return mod;
}
+#endif