summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Linus Torvalds <torvalds@linux-foundation.org>2018-08-27 08:27:07 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2018-08-27 22:09:44 -0700
commitbb067b6ee4828fc2444395d4cfda80831c4721bb (patch)
tree87829159ac865e5557c42c537ef7569dbd87a6dd
parentcae30f450af10f919410cbfe45497404d065a722 (diff)
downloadsubsurface-bb067b6ee4828fc2444395d4cfda80831c4721bb.tar.gz
Treat the "GARMIN" mount point exactly like the "UEMISSDA" one
The logic for finding a mount point for the Garmin FIT devices is basically exactly the same as for the UEMISSDA, even if the rest of the sequence is not the same. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--core/macos.c3
-rw-r--r--core/unix.c2
-rw-r--r--core/windows.c2
3 files changed, 5 insertions, 2 deletions
diff --git a/core/macos.c b/core/macos.c
index 686aeaac6..e9ab7b8a8 100644
--- a/core/macos.c
+++ b/core/macos.c
@@ -144,7 +144,8 @@ int enumerate_devices(device_callback_t callback, void *userdata, int dc_type)
}
while ((ep = readdir(dp)) != NULL) {
- if (fnmatch("UEMISSDA", ep->d_name, 0) == 0) {
+ if (fnmatch("UEMISSDA", ep->d_name, 0) == 0 ||
+ fnmatch("GARMIN", ep->d_name, 0) == 0) {
char filename[1024];
int n = snprintf(filename, sizeof(filename), "%s/%s", dirname, ep->d_name);
if (n >= (int)sizeof(filename)) {
diff --git a/core/unix.c b/core/unix.c
index a75bcd792..48fd3f467 100644
--- a/core/unix.c
+++ b/core/unix.c
@@ -161,6 +161,8 @@ int enumerate_devices(device_callback_t callback, void *userdata, int dc_type)
while ((getline(&line, &len, file)) != -1) {
char *ptr = strstr(line, "UEMISSDA");
+ if (!ptr)
+ ptr = strstr(line, "GARMIN");
if (ptr) {
char *end = ptr, *start = ptr;
while (start > line && *start != ' ')
diff --git a/core/windows.c b/core/windows.c
index 1166e858a..cb031e261 100644
--- a/core/windows.c
+++ b/core/windows.c
@@ -173,7 +173,7 @@ int enumerate_devices(device_callback_t callback, void *userdata, int dc_type)
int i;
int count_drives = 0;
const int bufdef = 512;
- const char *dlabels[] = {"UEMISSDA", NULL};
+ const char *dlabels[] = {"UEMISSDA", "GARMIN", NULL};
char bufname[bufdef], bufval[bufdef], *p;
DWORD bufname_len;