summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-ui/divelistview.cpp3
-rw-r--r--qt-ui/maintab.cpp20
-rw-r--r--qt-ui/subsurfacewebservices.cpp7
-rw-r--r--statistics.c7
-rw-r--r--uemis-downloader.c5
5 files changed, 17 insertions, 25 deletions
diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp
index e6d82d5bc..c1d6e8d4d 100644
--- a/qt-ui/divelistview.cpp
+++ b/qt-ui/divelistview.cpp
@@ -706,8 +706,7 @@ void DiveListView::deleteDive()
// so instead of using the for_each_dive macro I'm using an explicit for loop
// to make this easier to understand
int lastDiveNr = -1;
- for (i = 0; i < dive_table.nr; i++) {
- d = get_dive(i);
+ for_each_dive (i, d) {
if (!d->selected)
continue;
delete_single_dive(i);
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
index 5ed1b6704..96e2efc1c 100644
--- a/qt-ui/maintab.cpp
+++ b/qt-ui/maintab.cpp
@@ -270,10 +270,8 @@ void MainTab::enableEdition(EditMode newEditMode)
// We may be editing one or more dives here. backup everything.
struct dive *mydive;
- for (int i = 0; i < dive_table.nr; i++) {
- mydive = get_dive(i);
- if (!mydive)
- continue;
+ int i;
+ for_each_dive(i, mydive) {
if (!mydive->selected)
continue;
@@ -596,14 +594,12 @@ void MainTab::reload()
#define EDIT_SELECTED_DIVES(WHAT) \
do { \
struct dive *mydive = NULL; \
+ int _i; \
if (editMode == NONE) \
return; \
\
- for (int _i = 0; _i < dive_table.nr; _i++) { \
- mydive = get_dive(_i); \
- if (!mydive || mydive == current_dive)\
- continue; \
- if (!mydive->selected) \
+ for_each_dive (_i, mydive) { \
+ if (!mydive->selected || mydive == current_dive) \
continue; \
\
WHAT; \
@@ -836,10 +832,8 @@ void MainTab::rejectChanges()
}
struct dive *mydive;
- for (int i = 0; i < dive_table.nr; i++) {
- mydive = get_dive(i);
- if (!mydive)
- continue;
+ int i;
+ for_each_dive (i, mydive) {
if (!mydive->selected)
continue;
diff --git a/qt-ui/subsurfacewebservices.cpp b/qt-ui/subsurfacewebservices.cpp
index 5170b3a40..406939e6b 100644
--- a/qt-ui/subsurfacewebservices.cpp
+++ b/qt-ui/subsurfacewebservices.cpp
@@ -133,7 +133,9 @@ bool DivelogsDeWebServices::prepare_dives_for_divelogs(const QString &tempfile,
}
/* walk the dive list in chronological order */
- for (int i = 0; i < dive_table.nr; i++) {
+ int i;
+ struct dive *dive;
+ for_each_dive(i, dive) {
FILE *f;
char filename[PATH_MAX];
int streamsize;
@@ -145,9 +147,6 @@ bool DivelogsDeWebServices::prepare_dives_for_divelogs(const QString &tempfile,
* Get the i'th dive in XML format so we can process it.
* We need to save to a file before we can reload it back into memory...
*/
- struct dive *dive = get_dive(i);
- if (!dive)
- continue;
if (selected && !dive->selected)
continue;
f = tmpfile();
diff --git a/statistics.c b/statistics.c
index 2a96efb81..feb812766 100644
--- a/statistics.c
+++ b/statistics.c
@@ -131,8 +131,7 @@ void process_all_dives(struct dive *dive, struct dive **prev_dive)
/* this relies on the fact that the dives in the dive_table
* are in chronological order */
- for (idx = 0; idx < dive_table.nr; idx++) {
- dp = dive_table.dives[idx];
+ for_each_dive (idx, dp) {
if (dive && dp->when == dive->when) {
/* that's the one we are showing */
if (idx > 0)
@@ -230,10 +229,10 @@ static void get_ranges(char *buffer, int size)
{
int i, len;
int first = -1, last = -1;
+ struct dive *dive;
snprintf(buffer, size, "%s", translate("gettextFromC", "for dives #"));
- for (i = 0; i < dive_table.nr; i++) {
- struct dive *dive = get_dive(i);
+ for_each_dive (i, dive) {
if (!dive->selected)
continue;
if (dive->number < 1) {
diff --git a/uemis-downloader.c b/uemis-downloader.c
index d0c3de13e..797704c66 100644
--- a/uemis-downloader.c
+++ b/uemis-downloader.c
@@ -793,8 +793,9 @@ static char *uemis_get_divenr(char *deviceidstr)
char divenr[10];
deviceid = atoi(deviceidstr);
- for (i = 0; i < dive_table.nr; i++) {
- struct divecomputer *dc = &dive_table.dives[i]->dc;
+ struct dive *d;
+ for_each_dive (i, d) {
+ struct divecomputer *dc = &d->dc;
while (dc) {
if (dc->model && !strcmp(dc->model, "Uemis Zurich") &&
(dc->deviceid == 0 || dc->deviceid == 0x7fffffff || dc->deviceid == deviceid) &&