From bb067b6ee4828fc2444395d4cfda80831c4721bb Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Mon, 27 Aug 2018 08:27:07 -0700 Subject: 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 Signed-off-by: Dirk Hohndel --- core/macos.c | 3 ++- core/unix.c | 2 ++ core/windows.c | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'core') 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; -- cgit v1.2.3-70-g09d2