Hi Jim,

> Regarding the second patch, I see no explanation for why it
> makes such a fundamental change (not appending `.'?).

Actually the end of that function was a bit incomplete. It should probably
look like this:

    /* FILE refers to a symbolic link and the name ends with a slash.
       Call stat() to get info about the link's destination.  */
  
    lstat_result = stat (file, sbuf);
    if (lstat_result >= 0 && !S_ISDIR (sbuf->st_mode))
      {
        errno = EINVAL;
        return -1;
      }
    else
      return lstat_result;

The idea is that if FILE is a symlink and ends in '/', we want to inspect
the inode of the target directory of the link, i.e. follow the symlink
chain. lstat(concat(FILE,".")) does this, but stat(FILE) does this as well,
and needs no intermediate memory allocation. Or am I overlooking something
obvious?

Bruno



_______________________________________________
bug-gnulib mailing list
bug-gnulib@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnulib

Reply via email to