updated for version 7.0-228
diff --git a/src/os_unix.c b/src/os_unix.c
index 047bd84..5195b6b 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -55,6 +55,12 @@
# endif
#endif
+#ifdef __CYGWIN__
+# ifndef WIN32
+# include <sys/cygwin.h> /* for cygwin_conv_to_posix_path() */
+# endif
+#endif
+
#if defined(HAVE_SELECT)
extern int select __ARGS((int, fd_set *, fd_set *, fd_set *, struct timeval *));
#endif
@@ -2230,6 +2236,13 @@
fname = vms_fixfilename(fname);
#endif
+#ifdef __CYGWIN__
+ /*
+ * This helps for when "/etc/hosts" is a symlink to "c:/something/hosts".
+ */
+ cygwin_conv_to_posix_path(fname, fname);
+#endif
+
/* expand it if forced or not an absolute path */
if (force || !mch_isFullName(fname))
{