/* methods */ PyObject * sr_py_koops_frame_dup(PyObject *self, PyObject *args) { struct sr_py_koops_frame *this = (struct sr_py_koops_frame*)self; struct sr_py_koops_frame *fo = (struct sr_py_koops_frame*) PyObject_New(struct sr_py_koops_frame, &sr_py_koops_frame_type); if (!fo) return PyErr_NoMemory(); fo->frame = sr_koops_frame_dup(this->frame, false); return (PyObject*)fo; }
struct sr_koops_stacktrace * sr_koops_stacktrace_dup(struct sr_koops_stacktrace *stacktrace) { struct sr_koops_stacktrace *result = sr_koops_stacktrace_new(); memcpy(result, stacktrace, sizeof(struct sr_koops_stacktrace)); if (result->frames) result->frames = sr_koops_frame_dup(result->frames, true); if (result->version) result->version = sr_strdup(result->version); if (result->raw_oops) result->raw_oops = sr_strdup(result->raw_oops); return result; }