diff -Naur a/builtins/read.def b/builtins/read.def --- a/builtins/read.def 2013-09-02 19:54:00.000000000 +0400 +++ b/builtins/read.def 2014-03-13 16:36:08.136200000 +0400 @@ -514,7 +514,7 @@ } #if defined (__CYGWIN__) && defined (O_TEXT) - setmode (0, O_TEXT); + _setmode (0, O_TEXT); #endif ps2 = 0; diff -Naur a/general.c b/general.c --- a/general.c 2014-01-31 01:46:15.000000000 +0400 +++ b/general.c 2014-03-13 16:36:08.136200000 +0400 @@ -44,6 +44,10 @@ #include +#ifdef __CYGWIN__ +#include +#endif + #if !defined (errno) extern int errno; #endif /* !errno */ @@ -632,7 +636,7 @@ { char pathbuf[PATH_MAX + 1]; - cygwin_conv_to_full_posix_path (string, pathbuf); + cygwin_conv_path (CCP_WIN_A_TO_POSIX|CCP_ABSOLUTE, string, pathbuf, PATH_MAX+1); result = savestring (pathbuf); } #else