- int ltwff2 = \
- cygwin_posix_to_win32_path_list_buf_size (XSTRING_DATA (ltwff1)); \
- pathout = (Bufbyte *) alloca (ltwff2); \
- cygwin_posix_to_win32_path_list (XSTRING_DATA (ltwff1), pathout); \
+ Bufbyte* ltwffp = XSTRING_DATA (ltwff1); \
+ if (isalpha (ltwffp[0]) && (IS_DEVICE_SEP (ltwffp[1]))) \
+ pathout = ltwffp; \
+ else { \
+ int ltwff2 = \
+ cygwin_posix_to_win32_path_list_buf_size (ltwffp); \
+ pathout = (Bufbyte *) alloca (ltwff2); \
+ cygwin_posix_to_win32_path_list (ltwffp, pathout); \
+ } \