if the original device had one, too. Add comment.
* fhandler_socket.cc (fhandler_socket::fstat): Always return a size of
0 on sockets.
+2009-10-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_disk_file::link): Only append .lnk
+ if the original device had one, too. Add comment.
+
+ * fhandler_socket.cc (fhandler_socket::fstat): Always return a size of
+ 0 on sockets.
+
2009-10-09 Corinna Vinschen <corinna@vinschen.de>
* path.cc (tfx_chars): Convert all ASCII control characters except
char new_buf[nlen + 5];
if (!newpc.error)
{
- if (pc.is_lnk_special ())
+ /* If the original file is a lnk special file (except for sockets),
+ and if the original file has a .lnk suffix, add one to the hardlink
+ as well. */
+ if (pc.is_lnk_special () && !pc.issocket ()
+ && RtlEqualUnicodePathSuffix (pc.get_nt_native_path (),
+ &ro_u_lnk, TRUE))
{
/* Shortcut hack. */
stpcpy (stpcpy (new_buf, newpath), ".lnk");
if (!res)
{
buf->st_mode = (buf->st_mode & ~S_IFMT) | S_IFSOCK;
+ buf->st_size = 0;
}
}
else
buf->st_dev = 0;
buf->st_ino = (__ino64_t) ((DWORD) get_handle ());
buf->st_mode = S_IFSOCK | S_IRWXU | S_IRWXG | S_IRWXO;
+ buf->st_size = 0;
}
}
return res;