* 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:
@ -2872,25 +2872,13 @@ realpath (const char *path, char *resolved)
|
||||
|
||||
if (!real_path.error && real_path.exists ())
|
||||
{
|
||||
/* Check for the suffix being tacked on. */
|
||||
int tack_on = 0;
|
||||
if (!transparent_exe && real_path.known_suffix)
|
||||
{
|
||||
char *c = strrchr (real_path.normalized_path, '.');
|
||||
if (!c || !ascii_strcasematch (c, real_path.known_suffix))
|
||||
tack_on = strlen (real_path.known_suffix);
|
||||
}
|
||||
|
||||
if (!resolved)
|
||||
{
|
||||
resolved = (char *) malloc (strlen (real_path.normalized_path)
|
||||
+ tack_on + 1);
|
||||
resolved = (char *) malloc (strlen (real_path.normalized_path) + 1);
|
||||
if (!resolved)
|
||||
return NULL;
|
||||
}
|
||||
strcpy (resolved, real_path.normalized_path);
|
||||
if (tack_on)
|
||||
strcat (resolved, real_path.known_suffix);
|
||||
return resolved;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user