void trajectory_destroy(trajectory_t* t) { if(t != NULL) { if(t->samples != NULL) { int i = 0; for(; i < t->n_samples; i++) sample_destroy(&t->samples[i]); free(t->samples); t->samples = NULL; } } }
static PyObject *cboodle_delete_sample(PyObject *self, PyObject *args) { sample_t *samp; char *sampstr; int samplen; /* ### use CObject instead of sampstr/samplen? */ if (!PyArg_ParseTuple(args, "s#:delete_sample", &sampstr, &samplen)) return NULL; if (!sampstr || samplen != sizeof(sample_t *)) { PyErr_SetString(PyExc_TypeError, "delete_sample: argument must be a string returned by new_sample"); return NULL; } samp = *((sample_t **)sampstr); sample_destroy(samp); Py_INCREF(Py_None); return Py_None; }