From 5f93d7410271bdfdf31c9d51c90834c893f190a2 Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Sun, 24 Aug 2014 13:52:18 -0600 Subject: [PATCH] Remove unintentionally added experimental Junction Point patch. --- patches/Makefile | 1 - ...se-relative-paths-for-creating-links.patch | 69 ------------------- 2 files changed, 70 deletions(-) delete mode 100644 patches/ntdll-Junction_Points/0008-ntdll-Use-relative-paths-for-creating-links.patch diff --git a/patches/Makefile b/patches/Makefile index 024b6b11..6ed8adb4 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -519,7 +519,6 @@ ntdll-Junction_Points.ok: $(call APPLY_FILE,ntdll-Junction_Points/0005-kernel32-ntdll-Add-support-for-deleting-junction-poi.patch) $(call APPLY_FILE,ntdll-Junction_Points/0006-kernel32-Advertise-junction-point-support.patch) $(call APPLY_FILE,ntdll-Junction_Points/0007-ntdll-tests-Add-test-for-deleting-junction-point-tar.patch) - $(call APPLY_FILE,ntdll-Junction_Points/0008-ntdll-Use-relative-paths-for-creating-links.patch) @( \ echo '+ { "ntdll-Junction_Points", "Erich E. Hoover", "Support for junction points/reparse points." },'; \ ) > ntdll-Junction_Points.ok diff --git a/patches/ntdll-Junction_Points/0008-ntdll-Use-relative-paths-for-creating-links.patch b/patches/ntdll-Junction_Points/0008-ntdll-Use-relative-paths-for-creating-links.patch deleted file mode 100644 index f3c1f66f..00000000 --- a/patches/ntdll-Junction_Points/0008-ntdll-Use-relative-paths-for-creating-links.patch +++ /dev/null @@ -1,69 +0,0 @@ -From dc4f6f3e4ad3cd249872a297baca22370cc3267d Mon Sep 17 00:00:00 2001 -From: "Erich E. Hoover" -Date: Thu, 16 Jan 2014 21:07:43 -0700 -Subject: ntdll: Use relative paths for creating links. - ---- - dlls/ntdll/file.c | 39 +++++++++++++++++++++++++++++++++++++++ - 1 file changed, 39 insertions(+) - -diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c -index 4b76d04..b42b4ef 100644 ---- a/dlls/ntdll/file.c -+++ b/dlls/ntdll/file.c -@@ -1624,6 +1624,7 @@ NTSTATUS FILE_CreateSymlink(HANDLE handle, REPARSE_DATA_BUFFER *buffer) - int dest_fd, needs_close; - UNICODE_STRING nt_dest; - NTSTATUS status; -+ char *p; - - if ((status = server_get_unix_fd( handle, FILE_SPECIAL_ACCESS, &dest_fd, &needs_close, NULL, NULL ))) - return status; -@@ -1637,6 +1638,44 @@ NTSTATUS FILE_CreateSymlink(HANDLE handle, REPARSE_DATA_BUFFER *buffer) - goto cleanup; - dest_allocated = TRUE; - -+ p = strstr(unix_src.Buffer, "/dosdevices/"); -+ if (p) -+ { -+ int count = -1; /* do not count the slash at the end of dosdevices or the last directory */ -+ -+ p += 11; /* strlen("/dosdevices") */ -+ do -+ { -+ p++; /* skip the slash */ -+ count++; -+ p = strchr(p, '/'); -+ } while(p); -+ FIXME("found %d directories up.\n", count); -+ p = strstr(unix_dest.Buffer, "/dosdevices/"); -+ if (p) -+ { -+ ANSI_STRING tmp; -+ int dest_len; -+ char *d; -+ -+ p += 12; /* strlen("/dosdevices/") */ -+ dest_len = unix_dest.Length - (p-unix_dest.Buffer) + 1; -+ tmp.Length = dest_len + 3*count; /* strlen("../") = 3 */ -+ tmp.Buffer = RtlAllocateHeap(GetProcessHeap(), 0, tmp.Length); -+ d = tmp.Buffer; -+ for(; count > 0; count--) -+ { -+ (d++)[0] = '.'; -+ (d++)[0] = '.'; -+ (d++)[0] = '/'; -+ } -+ memcpy(d, p, dest_len); -+ RtlFreeAnsiString( &unix_dest ); -+ unix_dest.Length = tmp.Length; -+ unix_dest.Buffer = tmp.Buffer; -+ } -+ } -+ - TRACE("Linking %s to %s\n", unix_src.Buffer, unix_dest.Buffer); - - /* Produce the link in a temporary location */ --- -1.7.9.5 -