Create a 'remove_event' function that removes an event.

The logic of removing the event was in the UI, and this makes
the code harder to test because we need to take into account
also the events that the interface is receiving, instead of
only relying on the algorithm to test.

so, now it lives in dive.h/.c and a unittest is easyer to make.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2014-05-21 12:06:02 -03:00 committed by Dirk Hohndel
parent 3750d55665
commit ef4705070f
3 changed files with 13 additions and 7 deletions

11
dive.c
View file

@ -65,6 +65,17 @@ void add_event(struct divecomputer *dc, int time, int type, int flags, int value
remember_event(name);
}
void remove_event(struct event* event)
{
struct event **ep = &current_dc->events;
while (ep && *ep != event)
ep = &(*ep)->next;
if (ep) {
*ep = event->next;
free(event);
}
}
int get_pressure_units(unsigned int mb, const char **units)
{
int pressure;