* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Simplify

code which checks for symlinks.  Fix problem with UNC paths.

	* environ.cc (struct parse_thing): Remove transparent_exe option.
	* syscalls.cc (transparent_exe): Remove.
	(unlink): Always add stat_suffixes, drop transparent_exe check.
	(open): Ditto.
	(link): Ditto.
	(pathconf): Ditto.
	* fhandler_disk_file.cc (fhandler_disk_file::link): Ditto.
	* fhandler_process.cc (fhandler_process::fill_filebuf): Always remove
	.exe suffix.
	* path.cc (realpath): Never attach known_suffix.
This commit is contained in:
Corinna Vinschen
2008-04-13 16:47:21 +00:00
parent a7ff2096f7
commit 9bf7c7e96c
6 changed files with 40 additions and 45 deletions

View File

@ -446,17 +446,12 @@ fhandler_process::fill_filebuf ()
else
{
mount_table->conv_to_posix_path (p->progname, filebuf, 1);
/* If transparent_exe isn't set, the link keeps its suffix so that
an open(2) call will succeed on /proc/$PID/exe. */
if (transparent_exe)
int len = strlen (filebuf);
if (len > 4)
{
int len = strlen (filebuf);
if (len > 4)
{
char *s = filebuf + len - 4;
if (ascii_strcasematch (s, ".exe"))
*s = 0;
}
char *s = filebuf + len - 4;
if (ascii_strcasematch (s, ".exe"))
*s = 0;
}
}
filesize = strlen (filebuf);