unsigned long i, j, row;
rrd_value_t dv;
- row = ((end - start) / step + 1);
+ row = (end - start) / step;
r = PyTuple_New(3);
range_tup = PyTuple_New(3);
}
for (i = 0; i < ds_cnt; i++)
- free(ds_namv[i]);
- free(ds_namv); /* rrdtool don't use PyMem_Malloc :) */
- free(data);
+ rrd_freemem(ds_namv[i]);
+ rrd_freemem(ds_namv); /* rrdtool don't use PyMem_Malloc :) */
+ rrd_freemem(data);
}
destroy_args(&argv);
t = PyString_FromString(calcpr[i]);
PyList_Append(e, t);
Py_DECREF(t);
- free(calcpr[i]);
+ rrd_freemem(calcpr[i]);
}
- free(calcpr);
+ rrd_freemem(calcpr);
} else {
Py_INCREF(Py_None);
PyTuple_SET_ITEM(r, 2, Py_None);
}
static PyObject *PyDict_FromInfo(
- info_t *data)
+ rrd_info_t * data)
{
PyObject *r;
+
r = PyDict_New();
- while (data){
+ while (data) {
PyObject *val = NULL;
+
switch (data->type) {
case RD_I_VAL:
- val = isnan(data->value.u_val)
- ? (Py_INCREF(Py_None), Py_None)
- : PyFloat_FromDouble(data->value.u_val);
+ val = isnan(data->value.u_val)
+ ? (Py_INCREF(Py_None), Py_None)
+ : PyFloat_FromDouble(data->value.u_val);
break;
case RD_I_CNT:
val = PyLong_FromUnsignedLong(data->value.u_cnt);
val = PyString_FromString(data->value.u_str);
break;
case RD_I_BLO:
- val = PyString_FromStringAndSize((char*)data->value.u_blo.ptr, data->value.u_blo.size);
+ val =
+ PyString_FromStringAndSize((char *) data->value.u_blo.ptr,
+ data->value.u_blo.size);
break;
}
- if (val){
- PyDict_SetItemString(r,data->key,val);
+ if (val) {
+ PyDict_SetItemString(r, data->key, val);
}
data = data->next;
}
PyObject *r;
int argc;
char **argv;
- info_t *data;
+ rrd_info_t *data;
- if (create_args("info", args, &argc, &argv) < 0)
+ if (create_args("info", args, &argc, &argv) < 0)
return NULL;
-
+
if ((data = rrd_info(argc, argv)) == NULL) {
PyErr_SetString(ErrorObject, rrd_get_error());
rrd_clear_error();
return NULL;
}
r = PyDict_FromInfo(data);
- info_free(data);
+ rrd_info_free(data);
return r;
}
PyObject *r;
int argc;
char **argv;
- info_t *data;
+ rrd_info_t *data;
- if (create_args("graphv", args, &argc, &argv) < 0)
+ if (create_args("graphv", args, &argc, &argv) < 0)
return NULL;
-
+
if ((data = rrd_graph_v(argc, argv)) == NULL) {
PyErr_SetString(ErrorObject, rrd_get_error());
rrd_clear_error();
return NULL;
}
r = PyDict_FromInfo(data);
- info_free(data);
+ rrd_info_free(data);
return r;
}
PyObject *r;
int argc;
char **argv;
- info_t *data;
+ rrd_info_t *data;
- if (create_args("updatev", args, &argc, &argv) < 0)
+ if (create_args("updatev", args, &argc, &argv) < 0)
return NULL;
-
+
if ((data = rrd_update_v(argc, argv)) == NULL) {
PyErr_SetString(ErrorObject, rrd_get_error());
rrd_clear_error();
return NULL;
}
r = PyDict_FromInfo(data);
- info_free(data);
+ rrd_info_free(data);
return r;
}