From b923181eca48edeffb5f1bdaa9f7d424be9bfe68 Mon Sep 17 00:00:00 2001 From: Pierre Humblet Date: Wed, 14 Apr 2004 03:08:00 +0000 Subject: 2004-04-14 Pierre Humblet * 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. --- winsup/cygwin/path.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'winsup/cygwin/path.h') diff --git a/winsup/cygwin/path.h b/winsup/cygwin/path.h index a2db84262..150799d59 100644 --- a/winsup/cygwin/path.h +++ b/winsup/cygwin/path.h @@ -162,7 +162,7 @@ class path_conv } void set_binary () {path_flags |= PATH_BINARY;} - void set_symlink () {path_flags |= PATH_SYMLINK;} + void set_symlink (DWORD n) {path_flags |= PATH_SYMLINK; symlink_length = n;} void set_has_symlinks () {path_flags |= PATH_HAS_SYMLINKS;} void set_isdisk () {path_flags |= PATH_ISDISK; dev.devn = FH_FS;} void set_exec (int x = 1) {path_flags |= x ? PATH_EXEC : PATH_NOTEXEC;} @@ -215,7 +215,9 @@ class path_conv char *normalized_path; size_t normalized_path_size; void set_normalized_path (const char *) __attribute__ ((regparm (2))); + DWORD get_symlink_length () { return symlink_length; }; private: + DWORD symlink_length; char path[CYG_MAX_PATH]; }; -- cgit v1.2.3