]> sourceware.org Git - newlib-cygwin.git/commitdiff
Accommodate trailing NUL in PrlSF filesystem name.
authorCorinna Vinschen <corinna@vinschen.de>
Wed, 4 Nov 2015 13:47:25 +0000 (14:47 +0100)
committerCorinna Vinschen <corinna@vinschen.de>
Wed, 4 Nov 2015 13:47:25 +0000 (14:47 +0100)
* globals.cc (ro_u_prlfs): Add trailing NUL.  Explain why.
* mount.cc (fs_info::update): Add a comment to explain PrlSF.
* path.h (path_conv::fs_is_prlfs): Add for symmetry.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
winsup/cygwin/ChangeLog
winsup/cygwin/globals.cc
winsup/cygwin/mount.cc
winsup/cygwin/path.h

index b990d9f15633d9a91f90375a2b2b44e0de543153..b848583e7f1e423068142d7871ac6c0ce4aea4e6 100644 (file)
@@ -1,3 +1,9 @@
+2015-11-04  Corinna Vinschen  <corinna@vinschen.de>
+
+       * globals.cc (ro_u_prlfs): Add trailing NUL.  Explain why.
+       * mount.cc (fs_info::update): Add a comment to explain PrlSF.
+       * path.h (path_conv::fs_is_prlfs): Add for symmetry.
+
 2015-11-03  Corinna Vinschen  <corinna@vinschen.de>
 
        * sigproc.cc (pending_signals::clear): Fix previous fix resulting in
index 7a17376afda96e9048a342383b0ad75d09f8a7cc..383b8f1156d3a559f58d4ed829948af8b473d36c 100644 (file)
@@ -138,7 +138,9 @@ extern "C" {
   extern UNICODE_STRING _RDATA ro_u_mvfs = _ROU (L"MVFS");
   extern UNICODE_STRING _RDATA ro_u_nfs = _ROU (L"NFS");
   extern UNICODE_STRING _RDATA ro_u_ntfs = _ROU (L"NTFS");
-  extern UNICODE_STRING _RDATA ro_u_prlfs = _ROU (L"PrlSF"); /* No typo! */
+  /* No typo!  It's actually "SF", not "FS", and the trailing NUL is counted
+     in the reply from the filesystem. */
+  extern UNICODE_STRING _RDATA ro_u_prlfs = _ROU (L"PrlSF\0");
   extern UNICODE_STRING _RDATA ro_u_refs = _ROU (L"ReFS");
   extern UNICODE_STRING _RDATA ro_u_sunwnfs = _ROU (L"SUNWNFS");
   extern UNICODE_STRING _RDATA ro_u_udf = _ROU (L"UDF");
index 01f17598c88d7678369ddc8811468378a664505b..66e857160e00d1b8fa05c58f4187f7fce15a79b5 100644 (file)
@@ -371,6 +371,8 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol)
          /* AFSRDRFsd == Andrew File System.  Doesn't support DOS attributes.
             Only native symlinks are supported. */
          && !is_afs (RtlEqualUnicodeString (&fsname, &ro_u_afs, FALSE))
+         /* PrlSF == Parallels Desktop File System.  Has a bug in
+            FileNetworkOpenInformation, see below. */
          && !is_prlfs (RtlEqualUnicodeString (&fsname, &ro_u_prlfs, FALSE)))
        {
          /* Known remote file system with buggy open calls.  Further
index f8cb37a8b77ebb10ed15fcfc211a07a7eca1d65e..ce41645e0073b3d7c1f9250c7aa1c69eda157f0b 100644 (file)
@@ -376,6 +376,7 @@ class path_conv
   bool fs_is_nwfs () const {return fs.is_nwfs ();}
   bool fs_is_ncfsd () const {return fs.is_ncfsd ();}
   bool fs_is_afs () const {return fs.is_afs ();}
+  bool fs_is_prlfs () const {return fs.is_prlfs ();}
   fs_info_type fs_type () const {return fs.what_fs ();}
   ULONG fs_serial_number () const {return fs.serial_number ();}
   inline const char *set_path (const char *p)
This page took 0.037679 seconds and 5 git commands to generate.