Migrate code to for_each_dive and for_each_dc

[Dirk Hohndel: this overlapped with my commit 09e7c61fee ("Consistently
	       use for_each_dive (and use it correctly)") so I took the
	       pieces that I had missed]

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Anton Lundin 2014-05-14 00:32:45 +02:00 committed by Dirk Hohndel
parent 91c20357f5
commit 05d9cc409c
6 changed files with 9 additions and 21 deletions

5
dive.c
View file

@ -1320,11 +1320,8 @@ static void dc_cylinder_renumber(struct dive *dive, struct divecomputer *dc, int
static void cylinder_renumber(struct dive *dive, int mapping[])
{
struct divecomputer *dc;
dc = &dive->dc;
do {
for_each_dc(dive, dc)
dc_cylinder_renumber(dive, dc, mapping);
} while ((dc = dc->next) != NULL);
}
/*

View file

@ -162,9 +162,9 @@ extern "C" void set_dc_nickname(struct dive *dive)
if (!dive)
return;
struct divecomputer *dc = &dive->dc;
struct divecomputer *dc;
while (dc) {
for_each_dc(dive, dc) {
if (dc->model && *dc->model && dc->deviceid &&
!dcList.getExact(dc->model, dc->deviceid)) {
// we don't have this one, yet
@ -181,6 +181,5 @@ extern "C" void set_dc_nickname(struct dive *dive)
dcList.addDC(dc->model, dc->deviceid);
}
}
dc = dc->next;
}
}

View file

@ -887,8 +887,7 @@ void DiveListView::loadImages()
for_each_dive(j, dive) {
if (!dive->selected)
continue;
dc = &(dive->dc);
while (dc) {
for_each_dc(dive, dc) {
when = dc->when ? dc->when : dive->when;
duration_s = dc->duration.seconds ? dc->duration.seconds : dive->duration.seconds;
if (when - 3600 < imagetime && when + duration_s + 3600 > imagetime) {
@ -909,7 +908,6 @@ void DiveListView::loadImages()
MainWindow::instance()->refreshDisplay();
MainWindow::instance()->graphics()->replot();
}
dc = dc->next;
}
}
}

View file

@ -392,12 +392,8 @@ void save_one_dive(struct membuffer *b, struct dive *dive)
save_weightsystem_info(b, dive);
save_dive_temperature(b, dive);
/* Save the dive computer data */
dc = &dive->dc;
do {
for_each_dc(dive, dc)
save_dc(b, dive, dc);
dc = dc->next;
} while (dc);
put_format(b, "</dive>\n");
}

View file

@ -294,12 +294,12 @@ void get_selected_dives_text(char *buffer, int size)
static bool is_gas_used(struct dive *dive, int idx)
{
struct divecomputer *dc = &dive->dc;
struct divecomputer *dc;
bool firstGasExplicit = false;
if (cylinder_none(&dive->cylinder[idx]))
return false;
while (dc) {
for_each_dc(dive, dc) {
struct event *event = get_next_event(dc->events, "gaschange");
while (event) {
if (event->time.seconds < 30)
@ -308,7 +308,6 @@ static bool is_gas_used(struct dive *dive, int idx)
return true;
event = get_next_event(event->next, "gaschange");
}
dc = dc->next;
}
if (idx == 0 && !firstGasExplicit)
return true;

View file

@ -795,13 +795,12 @@ static char *uemis_get_divenr(char *deviceidstr)
deviceid = atoi(deviceidstr);
struct dive *d;
for_each_dive (i, d) {
struct divecomputer *dc = &d->dc;
while (dc) {
struct divecomputer *dc;
for_each_dc(d, dc) {
if (dc->model && !strcmp(dc->model, "Uemis Zurich") &&
(dc->deviceid == 0 || dc->deviceid == 0x7fffffff || dc->deviceid == deviceid) &&
dc->diveid > maxdiveid)
maxdiveid = dc->diveid;
dc = dc->next;
}
}
snprintf(divenr, 10, "%d", maxdiveid);