Cleanup: return cylinder from add_empty_cylinder()

As a convenience, return the cylinder from add_empty_cylinder()
to spare the caller from the nasty expression to fetch the
last cylinder.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2019-08-04 19:17:11 +02:00 committed by Dirk Hohndel
parent 8df3705152
commit c26e922802
4 changed files with 5 additions and 7 deletions

View file

@ -2126,9 +2126,7 @@ static int match_cylinder(const cylinder_t *cyl, const struct dive *dive, const
*/
static void merge_one_cylinder(struct cylinder_table *t, const cylinder_t *a, const cylinder_t *b)
{
cylinder_t *res;
add_empty_cylinder(t);
res = t->cylinders + (t->nr - 1);
cylinder_t *res = add_empty_cylinder(t);
res->type.size.mliter = a->type.size.mliter ?
a->type.size.mliter : b->type.size.mliter;
res->type.workingpressure.mbar = a->type.workingpressure.mbar ?

View file

@ -314,11 +314,12 @@ void copy_cylinder_types(const struct dive *s, struct dive *d)
add_cloned_cylinder(&d->cylinders, s->cylinders.cylinders[i]);
}
void add_empty_cylinder(struct cylinder_table *t)
cylinder_t *add_empty_cylinder(struct cylinder_table *t)
{
cylinder_t cyl = { 0 };
cyl.type.description = strdup("");
add_to_cylinder_table(t, t->nr, cyl);
return &t->cylinders[t->nr - 1];
}
/* access to cylinders is controlled by two functions:

View file

@ -69,7 +69,7 @@ extern int cylinderuse_from_text(const char *text);
extern void copy_weights(const struct weightsystem_table *s, struct weightsystem_table *d);
extern void copy_cylinder_types(const struct dive *s, struct dive *d);
extern void add_cloned_weightsystem(struct weightsystem_table *t, weightsystem_t ws);
extern void add_empty_cylinder(struct cylinder_table *t);
extern cylinder_t *add_empty_cylinder(struct cylinder_table *t);
extern void add_cloned_cylinder(struct cylinder_table *t, cylinder_t cyl);
extern cylinder_t *get_cylinder(const struct dive *d, int idx);
extern cylinder_t *get_or_create_cylinder(struct dive *d, int idx);

View file

@ -289,8 +289,7 @@ void picture_end(struct parser_state *state)
cylinder_t *cylinder_start(struct parser_state *state)
{
add_empty_cylinder(&state->cur_dive->cylinders);
return &state->cur_dive->cylinders.cylinders[state->cur_dive->cylinders.nr - 1];
return add_empty_cylinder(&state->cur_dive->cylinders);
}
void cylinder_end(struct parser_state *state)