]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve detection of pdumper file and *.eln files
authorEli Zaretskii <eliz@gnu.org>
Sat, 24 Apr 2021 13:01:19 +0000 (16:01 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 24 Apr 2021 13:01:19 +0000 (16:01 +0300)
* src/emacs.c (load_pdump_find_executable): Resolve symlinks even
if argv[0] includes leading directories.  (Bug#46790)

src/emacs.c

index 792f690797de48b80d758ae74faeb032edb7724d..9157cd84a99357fe4efcb065a5a4b54fd5f77ac3 100644 (file)
@@ -746,10 +746,18 @@ load_pdump_find_executable (char const *argv0, ptrdiff_t *candidate_size)
   char *candidate = NULL;
 
   /* If the executable name contains a slash, we have some kind of
-     path already, so just copy it.  */
+     path already, so just resolve symlinks and return the result.  */
   eassert (argv0);
   if (strchr (argv0, DIRECTORY_SEP))
     {
+      char *real_name = realpath (argv0, NULL);
+
+      if (real_name)
+       {
+         *candidate_size = strlen (real_name) + 1;
+         return real_name;
+       }
+
       char *val = xstrdup (argv0);
       *candidate_size = strlen (val) + 1;
       return val;