summaryrefslogtreecommitdiffstats
path: root/profile.c
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2013-01-01 10:29:18 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-01-01 10:29:18 -0800
commit1c72d90b37d5f362a262a521a86f5b089daf8e62 (patch)
treef538622add1f7a6b40f3865b1293871658a8b69d /profile.c
parentc2e003975e4d11dbfda032a2d8e0386f75b3cde2 (diff)
parent8f364d0094aa0c2999708dca0e1ac6fefed67837 (diff)
downloadsubsurface-1c72d90b37d5f362a262a521a86f5b089daf8e62.tar.gz
Merge branch 'updown'
Bring in the keyboard handling change
Diffstat (limited to 'profile.c')
-rw-r--r--profile.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/profile.c b/profile.c
index 0962f9ca8..dea1ad6ee 100644
--- a/profile.c
+++ b/profile.c
@@ -1800,11 +1800,24 @@ static void plot_set_scale(scale_mode_t scale)
}
}
+/* make sure you pass this the FIRST dc - it just walks the list */
+static int nr_dcs(struct divecomputer *main)
+{
+ int i = 1;
+ struct divecomputer *dc = main;
+
+ while ((dc = dc->next) != NULL)
+ i++;
+ return i;
+}
+
static struct divecomputer *select_dc(struct divecomputer *main)
{
int i = dc_number;
struct divecomputer *dc = main;
+ while (i < 0)
+ i += nr_dcs(main);
do {
if (--i < 0)
return dc;