diff -urN which-2.21.orig/which.c which-2.21/which.c --- which-2.21.orig/which.c 2015-07-17 11:17:53.621936700 +0100 +++ which-2.21/which.c 2015-07-17 12:13:21.629563300 +0100 @@ -91,7 +91,14 @@ if (abs_path) free(abs_path); +#if defined(__MSYS__) + if (*name != '.' && *name != '/' && *name != '~' + && !((strlen (name) > 2 + && tolower (name[0]) >= 'a' && tolower (name[0]) <= 'z' + && name[1] == ':' && name[2] == '/'))) +#else if (*name != '.' && *name != '/' && *name != '~') +#endif { abs_path = (char *)xmalloc(3 + name_len); strcpy(abs_path, "./"); @@ -201,7 +208,14 @@ int saw_slash = 0, saw_slash_dot = 0, saw_slash_dot_dot = 0; +#if defined(__MSYS__) + if (*p1 != '/' + && !((strlen (p1) > 2 + && tolower (p1[0]) >= 'a' && tolower (p1[0]) <= 'z' + && p1[1] == ':' && p1[2] == '/'))) +#else if (*p1 != '/') +#endif { get_current_working_directory(); strcpy(result, cwd);