php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Return to Bug #63241
Patch php_fix_dedup.patch revision 2012-10-12 13:52 UTC by daniel dot stelter-gliese at innogames dot de
revision 2012-10-08 16:18 UTC by daniel dot stelter-gliese at innogames dot de

Patch php_fix_dedup.patch for Win32API related Bug #63241

Patch version 2012-10-12 13:52 UTC

Return to Bug #63241 | Download this patch
This patch renders other patches obsolete

Obsolete patches:

Patch Revisions:

Developer: daniel.stelter-gliese@innogames.de

--- a/TSRM/tsrm_virtual_cwd.c
+++ b/TSRM/tsrm_virtual_cwd.c
@@ -40,6 +40,10 @@
 #  define IO_REPARSE_TAG_SYMLINK 0xA000000C
 # endif
 
+# ifndef IO_REPARSE_TAG_DEDUP
+#  define IO_REPARSE_TAG_DEDUP   0x80000013
+# endif
+
 # ifndef VOLUME_NAME_NT
 #  define VOLUME_NAME_NT 0x2
 # endif
@@ -945,6 +949,11 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
 					return -1;
 				};
 				substitutename[substitutename_len] = 0;
+			}
+			else if (pbuffer->ReparseTag == IO_REPARSE_TAG_DEDUP) {
+				isabsolute = 1;
+				memcpy(substitutename, path, len + 1);
+				substitutename_len = len;
 			} else {
 				tsrm_free_alloca(pbuffer, use_heap_large);
 				return -1;
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 14:01:29 2024 UTC