From fb504b50d0f2b881d2be6dcc657f74cca663d217 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Thu, 3 May 2012 16:04:07 -0700 Subject: [PATCH] divecomputer importing: show the date of the currently importing dive I'm hoping most other dive computers are quicker to import from than the Suunto I have, but mine can take minutes to import all the dives. Sure, we have that nice progress bar, so it shows that it's doing something, but it's not really showing *what* it is doing. So instead of showing just "Parsing dive X", let's show the date of the dive. That way, when it takes two minutes to import all the dives, at least you can see "oh, it's going back to the dives of last year" and it then feels like you have some good reason for the delay. Signed-off-by: Linus Torvalds --- libdivecomputer.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libdivecomputer.c b/libdivecomputer.c index bd31eb0..e59dd6a 100644 --- a/libdivecomputer.c +++ b/libdivecomputer.c @@ -261,6 +261,15 @@ static int find_dive(struct dive *dive, device_data_t *devdata) return 0; } +static inline int year(int year) +{ + if (year < 70) + return year + 2000; + if (year < 100) + return year + 1900; + return year; +} + static int dive_cb(const unsigned char *data, unsigned int size, const unsigned char *fingerprint, unsigned int fsize, void *userdata) @@ -303,7 +312,8 @@ static int dive_cb(const unsigned char *data, unsigned int size, dive->when = utc_mktime(&tm); // Parse the divetime. - dev_info(devdata, "Parsing dive %d", import_dive_number); + dev_info(devdata, "Dive %d: %s %d %04d", import_dive_number, + monthname(tm.tm_mon), tm.tm_mday, year(tm.tm_year)); unsigned int divetime = 0; rc = parser_get_field (parser, FIELD_TYPE_DIVETIME, 0, &divetime); if (rc != PARSER_STATUS_SUCCESS && rc != PARSER_STATUS_UNSUPPORTED) { -- 2.45.2