summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_disk_file.cc
diff options
context:
space:
mode:
authorPierre Humblet <phumblet@phumblet.no-ip.org>2004-04-14 03:08:00 +0000
committerPierre Humblet <phumblet@phumblet.no-ip.org>2004-04-14 03:08:00 +0000
commitb923181eca48edeffb5f1bdaa9f7d424be9bfe68 (patch)
tree4f05162afd97012967d5a1f45def426efa04e562 /winsup/cygwin/fhandler_disk_file.cc
parent3614afe6a0a9d6fac724a146fa319fa76da97570 (diff)
downloadcygnal-b923181eca48edeffb5f1bdaa9f7d424be9bfe68.tar.gz
cygnal-b923181eca48edeffb5f1bdaa9f7d424be9bfe68.tar.bz2
cygnal-b923181eca48edeffb5f1bdaa9f7d424be9bfe68.zip
2004-04-14 Pierre Humblet <pierre.humblet@ieee.org>
* path.h (path_conv::set_symlink): Add argument. (path_conv::get_symlink_length): New method. (path_conv::symlink_length): New member. * path.cc (path_conv::check): Pass symlen to set_symlink. * fhandler_disk_file.cc (fhandler_base::fstat_helper): For symlinks set st_size from get_symlink_length.
Diffstat (limited to 'winsup/cygwin/fhandler_disk_file.cc')
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index 587f32314..0dce4701b 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -282,6 +282,7 @@ fhandler_base::fstat_helper (struct __stat64 *buf,
buf->st_mode = S_IFDIR;
else if (pc.issymlink ())
{
+ buf->st_size = pc.get_symlink_length ();
/* symlinks are everything for everyone! */
buf->st_mode = S_IFLNK | S_IRWXU | S_IRWXG | S_IRWXO;
get_file_attribute (pc.has_acls (), get_io_handle (), get_win32_name (),