* fhandler_registry.cc (fhandler_registry::exists): Handle EACCES.
(fhandler_registry::open): Ditto.
This commit is contained in:
		| @@ -1,3 +1,8 @@ | |||||||
|  | 2008-12-15  Corinna Vinschen  <corinna@vinschen.de> | ||||||
|  |  | ||||||
|  | 	* fhandler_registry.cc (fhandler_registry::exists): Handle EACCES. | ||||||
|  | 	(fhandler_registry::open): Ditto. | ||||||
|  |  | ||||||
| 2008-12-15  Corinna Vinschen  <corinna@vinschen.de> | 2008-12-15  Corinna Vinschen  <corinna@vinschen.de> | ||||||
|  |  | ||||||
| 	* cygwin.din: Export fgetwc, fgetws, fputwc, fputws, fwide, getwc, | 	* cygwin.din: Export fgetwc, fgetws, fputwc, fputws, fwide, getwc, | ||||||
|   | |||||||
| @@ -256,7 +256,7 @@ fhandler_registry::exists () | |||||||
|  |  | ||||||
|       if (!val_only) |       if (!val_only) | ||||||
| 	hKey = open_key (path, KEY_READ, wow64, false); | 	hKey = open_key (path, KEY_READ, wow64, false); | ||||||
|       if (hKey != (HKEY) INVALID_HANDLE_VALUE) |       if (hKey != (HKEY) INVALID_HANDLE_VALUE || get_errno () == EACCES) | ||||||
| 	file_type = 1; | 	file_type = 1; | ||||||
|       else |       else | ||||||
| 	{ | 	{ | ||||||
| @@ -683,7 +683,8 @@ fhandler_registry::open (int flags, mode_t mode) | |||||||
| 	handle = open_key (path, KEY_READ, wow64, false); | 	handle = open_key (path, KEY_READ, wow64, false); | ||||||
|       if (handle == (HKEY) INVALID_HANDLE_VALUE) |       if (handle == (HKEY) INVALID_HANDLE_VALUE) | ||||||
| 	{ | 	{ | ||||||
| 	  handle = open_key (path, KEY_READ, wow64, true); | 	  if (get_errno () != EACCES) | ||||||
|  | 	    handle = open_key (path, KEY_READ, wow64, true); | ||||||
| 	  if (handle == (HKEY) INVALID_HANDLE_VALUE) | 	  if (handle == (HKEY) INVALID_HANDLE_VALUE) | ||||||
| 	    { | 	    { | ||||||
| 	      res = 0; | 	      res = 0; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user