* mount.cc (mount_info::cygdrive_win32_path): Always upper case
DOS drive letter to accommodate case sensitivity. (cygdrive_getmntent): Ditto. * path.cc (path_conv::check): Invalidate wide_path after making path relative.
This commit is contained in:
		| @@ -1,3 +1,11 @@ | ||||
| 2008-11-11  Corinna Vinschen  <corinna@vinschen.de> | ||||
|  | ||||
| 	* mount.cc (mount_info::cygdrive_win32_path): Always upper case | ||||
| 	DOS drive letter to accommodate case sensitivity. | ||||
| 	(cygdrive_getmntent): Ditto. | ||||
| 	* path.cc (path_conv::check): Invalidate wide_path after making path | ||||
| 	relative. | ||||
|  | ||||
| 2008-11-11  Corinna Vinschen  <corinna@vinschen.de> | ||||
|  | ||||
| 	* environ.cc (create_upcaseenv): New static variable. | ||||
|   | ||||
| @@ -403,7 +403,8 @@ mount_info::cygdrive_win32_path (const char *src, char *dst, int& unit) | ||||
|     } | ||||
|   else | ||||
|     { | ||||
|       dst[0] = cyg_tolower (*p); | ||||
|       /* drive letter must always be uppercase for casesensitive native NT. */ | ||||
|       dst[0] = cyg_toupper (*p); | ||||
|       dst[1] = ':'; | ||||
|       strcpy (dst + 2, p + 1); | ||||
|       backslashify (dst, dst, !dst[2]); | ||||
| @@ -1211,7 +1212,7 @@ cygdrive_getmntent () | ||||
| 	if (_my_tls.locals.available_drives & mask) | ||||
| 	  break; | ||||
|  | ||||
|       __small_sprintf (native_path, "%c:\\", drive); | ||||
|       __small_sprintf (native_path, "%c:\\", cyg_toupper (drive)); | ||||
|       if (GetFileAttributes (native_path) == INVALID_FILE_ATTRIBUTES) | ||||
| 	{ | ||||
| 	  _my_tls.locals.available_drives &= ~mask; | ||||
|   | ||||
| @@ -1231,7 +1231,14 @@ out: | ||||
|   if (opt & PC_NOFULL) | ||||
|     { | ||||
|       if (is_relpath) | ||||
| 	{ | ||||
| 	  mkrelpath (this->path, !!caseinsensitive); | ||||
| 	  /* Invalidate wide_path so that wide relpath can be created | ||||
| 	     in later calls to get_nt_native_path or get_wide_win32_path. */ | ||||
| 	  if (wide_path) | ||||
| 	    cfree (wide_path); | ||||
| 	  wide_path = NULL; | ||||
| 	} | ||||
|       if (need_directory) | ||||
| 	{ | ||||
| 	  size_t n = strlen (this->path); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user