* path.cc (path_conv::check): Deal more robustly with foo/ behavior.
This commit is contained in:
		| @@ -1,3 +1,7 @@ | |||||||
|  | Fri Jun 15 14:34:19 2001  Christopher Faylor <cgf@cygnus.com> | ||||||
|  |  | ||||||
|  | 	* path.cc (path_conv::check): Deal more robustly with foo/ behavior. | ||||||
|  |  | ||||||
| Fri Jun 15 11:15:00 2001  Corinna Vinschen <corinna@vinschen.de> | Fri Jun 15 11:15:00 2001  Corinna Vinschen <corinna@vinschen.de> | ||||||
|  |  | ||||||
| 	* fhandler_tape.cc (fhandler_dev_tape::tape_status): Set size | 	* fhandler_tape.cc (fhandler_dev_tape::tape_status): Set size | ||||||
|   | |||||||
| @@ -411,18 +411,18 @@ path_conv::check (const char *src, unsigned opt, | |||||||
|     { |     { | ||||||
|       MALLOC_CHECK; |       MALLOC_CHECK; | ||||||
|       assert (src); |       assert (src); | ||||||
|       char *p = strrchr (src, '/'); |  | ||||||
|  |       char *p = strrchr (src, '\0'); | ||||||
|       /* Detect if the user was looking for a directory.  We have to strip the |       /* Detect if the user was looking for a directory.  We have to strip the | ||||||
| 	 trailing slash initially and add it back on at the end due to Windows | 	 trailing slash initially and add it back on at the end due to Windows | ||||||
| 	 brain damage. */ | 	 brain damage. */ | ||||||
|       if (p) |       if (--p > src) | ||||||
| 	{ | 	{ | ||||||
| 	  if (p[1] == '\0' || strcmp (p, "/.") == 0) | 	  if (isdirsep (*p)) | ||||||
|  | 	    need_directory = 1; | ||||||
|  | 	  else if (--p  > src && p[1] == '.' && isdirsep (*p)) | ||||||
| 	    need_directory = 1; | 	    need_directory = 1; | ||||||
| 	} | 	} | ||||||
|       else if ((p = strrchr (src, '\\')) && |  | ||||||
| 	       (p[1] == '\0' || strcmp (p, "\\.") == 0)) |  | ||||||
| 	need_directory = 1; |  | ||||||
|  |  | ||||||
|       is_relpath = !isabspath (src); |       is_relpath = !isabspath (src); | ||||||
|       error = normalize_posix_path (src, path_copy); |       error = normalize_posix_path (src, path_copy); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user