t/calib: Make destroy funcitons take pointer to pointer

This commit is contained in:
Jakob Bornecrantz 2019-11-16 11:42:33 +00:00
parent ee3d9d08f6
commit 5a600ffbcf
3 changed files with 20 additions and 10 deletions

View file

@ -140,7 +140,7 @@ calibration_get_stereo(const char *configuration_filename,
*r_rectify_map_y = data->r_rectify_map_y;
*disparity_to_depth = data->disparity_to_depth;
t_calibration_data_free(data_c);
t_calibration_data_free(&data_c);
return true;
}

View file

@ -31,17 +31,27 @@ write_cv_mat(FILE *f, cv::Mat *m);
*/
extern "C" void
t_calibration_data_free(struct t_calibration_data *data)
t_calibration_data_free(struct t_calibration_data **data_ptr)
{
CalibrationData *d_ptr = (CalibrationData *)data;
delete d_ptr;
CalibrationData *cd = (CalibrationData *)*data_ptr;
if (cd == NULL) {
return;
}
delete cd;
*data_ptr = NULL;
}
extern "C" void
t_calibration_raw_data_free(struct t_calibration_raw_data *raw_data)
t_calibration_raw_data_free(struct t_calibration_raw_data **raw_data_ptr)
{
CalibrationRawData *rd_ptr = (CalibrationRawData *)raw_data;
delete rd_ptr;
CalibrationRawData *crd = (CalibrationRawData *)*raw_data_ptr;
if (crd == NULL) {
return;
}
delete crd;
*raw_data_ptr = NULL;
}
@ -282,7 +292,7 @@ t_file_load_stereo_calibration_v1_hack(struct t_calibration_data **out_data)
bool ret =
t_file_load_stereo_calibration_v1(calib_file, out_data, &raw_data);
t_calibration_raw_data_free(raw_data);
t_calibration_raw_data_free(&raw_data);
fclose(calib_file);

View file

@ -272,7 +272,7 @@ struct t_calibration_raw_data
* Free raw calibration data.
*/
void
t_calibration_raw_data_free(struct t_calibration_raw_data *raw_data);
t_calibration_raw_data_free(struct t_calibration_raw_data **raw_data_ptr);
/*!
* Refined calibration data to be given to trackers.
@ -284,7 +284,7 @@ struct t_calibration_data
};
void
t_calibration_data_free(struct t_calibration_data *data);
t_calibration_data_free(struct t_calibration_data **data_ptr);
bool
t_file_load_stereo_calibration_v1(FILE *calib_file,