mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-31 22:03:23 +00:00
Core: export dive-computer freeing function
The dive-computer freeing code was local to dive.c. Implementing the replan undo-command will need that functionality. Therefore, export it as a global function. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
70737b9eec
commit
d16d57577d
2 changed files with 10 additions and 2 deletions
11
core/dive.c
11
core/dive.c
|
@ -339,6 +339,14 @@ static void copy_pl(struct picture *sp, struct picture *dp)
|
|||
dp->filename = copy_string(sp->filename);
|
||||
}
|
||||
|
||||
/* The first divecomputer is embedded in the dive structure. Free its data but not
|
||||
* the structure itself. For all remainding dcs in the list, free data *and* structures. */
|
||||
void free_dive_dcs(struct divecomputer *dc)
|
||||
{
|
||||
free_dc_contents(dc);
|
||||
STRUCTURED_LIST_FREE(struct divecomputer, dc->next, free_dc);
|
||||
}
|
||||
|
||||
static void free_dive_structures(struct dive *d)
|
||||
{
|
||||
if (!d)
|
||||
|
@ -350,8 +358,7 @@ static void free_dive_structures(struct dive *d)
|
|||
free(d->suit);
|
||||
/* free tags, additional dive computers, and pictures */
|
||||
taglist_free(d->tag_list);
|
||||
free_dc_contents(&d->dc);
|
||||
STRUCTURED_LIST_FREE(struct divecomputer, d->dc.next, free_dc);
|
||||
free_dive_dcs(&d->dc);
|
||||
STRUCTURED_LIST_FREE(struct picture, d->picture_list, free_picture);
|
||||
for (int i = 0; i < MAX_CYLINDERS; i++)
|
||||
free((void *)d->cylinder[i].type.description);
|
||||
|
|
|
@ -326,6 +326,7 @@ extern void utc_mkdate(timestamp_t, struct tm *tm);
|
|||
|
||||
extern struct dive *alloc_dive(void);
|
||||
extern void free_dive(struct dive *);
|
||||
extern void free_dive_dcs(struct divecomputer *dc);
|
||||
extern void record_dive_to_table(struct dive *dive, struct dive_table *table);
|
||||
extern void record_dive(struct dive *dive);
|
||||
extern void clear_dive(struct dive *dive);
|
||||
|
|
Loading…
Add table
Reference in a new issue