summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/path.h
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/path.h
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/path.h')
-rw-r--r--winsup/cygwin/path.h4
1 files changed, 3 insertions, 1 deletions
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];
};