summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_virtual_cwd.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/Zend/zend_virtual_cwd.c b/Zend/zend_virtual_cwd.c
index f0cbd971a8..a2f1e075e5 100644
--- a/Zend/zend_virtual_cwd.c
+++ b/Zend/zend_virtual_cwd.c
@@ -53,6 +53,14 @@
#define IO_REPARSE_TAG_ONEDRIVE (0x80000021L)
#endif
+# ifndef IO_REPARSE_TAG_ACTIVISION_HSM
+# define IO_REPARSE_TAG_ACTIVISION_HSM (0x00000047L)
+# endif
+
+# ifndef IO_REPARSE_TAG_PROJFS
+# define IO_REPARSE_TAG_PROJFS (0x9000001CL)
+# endif
+
# ifndef VOLUME_NAME_NT
# define VOLUME_NAME_NT 0x2
# endif
@@ -747,7 +755,9 @@ retry:
else if (pbuffer->ReparseTag == IO_REPARSE_TAG_DEDUP ||
/* Starting with 1709. */
(pbuffer->ReparseTag & ~IO_REPARSE_TAG_CLOUD_MASK) == IO_REPARSE_TAG_CLOUD ||
- IO_REPARSE_TAG_ONEDRIVE == pbuffer->ReparseTag) {
+ IO_REPARSE_TAG_ONEDRIVE == pbuffer->ReparseTag ||
+ IO_REPARSE_TAG_ACTIVISION_HSM == pbuffer->ReparseTag ||
+ IO_REPARSE_TAG_PROJFS == pbuffer->ReparseTag) {
isabsolute = 1;
substitutename = malloc((len + 1) * sizeof(char));
if (!substitutename) {