Beispiel #1
0
        public static string ReadLink(string path)
        {
            Errno errno;

            path = UnixPath.ReadSymbolicLink(path, out errno);
            if ((int)errno != 0)
            {
                UnixMarshal.ThrowExceptionForError(errno);
            }
            return(path);
        }
Beispiel #2
0
 public static string GetRealPath(string path)
 {
     while (true)
     {
         string str = UnixPath.ReadSymbolicLink(path);
         if (str == null)
         {
             break;
         }
         if (!UnixPath.IsPathRooted(str))
         {
             path = string.Concat(UnixPath.GetDirectoryName(path), UnixPath.DirectorySeparatorChar, str);
             path = UnixPath.GetCanonicalPath(path);
         }
         else
         {
             path = str;
         }
     }
     return(path);
 }
Beispiel #3
0
        public static string TryReadLink(string path)
        {
            Errno errno;

            return(UnixPath.ReadSymbolicLink(path, out errno));
        }