summaryrefslogtreecommitdiffstats
path: root/uemis-downloader.c
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2012-11-09 23:00:54 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2012-11-10 11:54:14 +0100
commit097702a39216311b2f2e32d56f66318ba9f0d34a (patch)
tree8e08f2f2184b55cf4704c3de213ab48bb1c891bc /uemis-downloader.c
parent6c52e8a2e51691dc256149262872c7446d7f5f38 (diff)
downloadsubsurface-097702a39216311b2f2e32d56f66318ba9f0d34a.tar.gz
Ignore last dive read from Uemis when starting with empty divelist
When the user closes the divelist and starts with an empty file it makes no sense to assume that she only wants to download new dives since the last time dives have been downloaded. So if the current divelist is empty we ignore that information and start from the beginning again. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'uemis-downloader.c')
-rw-r--r--uemis-downloader.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/uemis-downloader.c b/uemis-downloader.c
index 5267a0b00..6f85eca59 100644
--- a/uemis-downloader.c
+++ b/uemis-downloader.c
@@ -792,7 +792,15 @@ static char *do_uemis_download(struct argument_block *args)
if (! uemis_get_answer(mountpath, "processSync", 0, 2, &result))
goto bail;
param_buff[1] = "notempty";
- newmax = get_divenr(*max_dive_data, deviceid);
+ /* if we have an empty divelist then the user will almost
+ * certainly want to start downloading from the first dive on
+ * the Uemis; otherwise check which was the last dive
+ * downloaded */
+ if (dive_table.nr > 0)
+ newmax = get_divenr(*max_dive_data, deviceid);
+ else
+ newmax = strdup("0");
+
if (sscanf(newmax, "%d", &start) != 1)
start = 0;
for (;;) {