summaryrefslogtreecommitdiffstats
path: root/src/report-python/crash_dump.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/report-python/crash_dump.c')
-rw-r--r--src/report-python/crash_dump.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/report-python/crash_dump.c b/src/report-python/crash_dump.c
index c56db087..868e97ec 100644
--- a/src/report-python/crash_dump.c
+++ b/src/report-python/crash_dump.c
@@ -108,18 +108,22 @@ static PyObject *p_get_crash_data_item(PyObject *pself, PyObject *args)
return Py_BuildValue("sI", ci->content, ci->flags);
}
+/* struct dump_dir *create_crash_dump_dir(crash_data_t *crash_data); */
static PyObject *p_create_crash_dump_dir(PyObject *pself, PyObject *args)
{
p_crash_data *self = (p_crash_data*)pself;
+ p_dump_dir *new_dd = PyObject_New(p_dump_dir, &p_dump_dir_type);
+ if (!new_dd)
+ return NULL;
struct dump_dir *dd = create_crash_dump_dir(self->cd);
- if (dd == NULL)
+ if (!dd)
{
+ PyObject_Del((PyObject*)new_dd);
PyErr_SetString(ReportError, "Can't create the dump dir");
return NULL;
}
- //FIXME: return a python representation of dump_dir, when we have it..
- dd_close(dd);
- Py_RETURN_NONE;
+ new_dd->dd = dd;
+ return (PyObject*)new_dd;
}
//static PyMemberDef p_crash_data_members[] = {
@@ -130,7 +134,7 @@ static PyMethodDef p_crash_data_methods[] = {
{ "add" , p_crash_data_add, METH_VARARGS, "Adds item to the crash data using default flags" },
{ "add_ext" , p_crash_data_add_ext, METH_VARARGS, "Adds item to the crash data" },
{ "get" , p_get_crash_data_item, METH_VARARGS, "Gets the value of item indexed by the key" },
- { "to_dump_dir", p_create_crash_dump_dir, METH_NOARGS, "Saves the crash_data to"LOCALSTATEDIR"/run/abrt/tmp-<pid>-<time>" },
+ { "create_crash_dump_dir", p_create_crash_dump_dir, METH_NOARGS, "Saves the crash_data to"LOCALSTATEDIR"/run/abrt/tmp-<pid>-<time>" },
{ NULL }
};