- Remove '\.\' sequences from destination file name in CabinetExtractFile.
authorHartmut Birr <osexpert@googlemail.com>
Sun, 18 Jan 2004 22:37:53 +0000 (22:37 +0000)
committerHartmut Birr <osexpert@googlemail.com>
Sun, 18 Jan 2004 22:37:53 +0000 (22:37 +0000)
svn path=/trunk/; revision=7758

reactos/subsys/system/usetup/cabinet.c

index 173523d..fc4080a 100755 (executable)
@@ -1618,6 +1618,7 @@ CabinetExtractFile(PWCHAR FileName)
   FILETIME FileTime;
   WCHAR DestName[MAX_PATH];
   WCHAR TempName[MAX_PATH];
+  PWCHAR s;
   NTSTATUS NtStatus;
   UNICODE_STRING UnicodeString;
   IO_STATUS_BLOCK IoStatusBlock;
@@ -1653,11 +1654,17 @@ CabinetExtractFile(PWCHAR FileName)
 
   wcscpy(DestName, DestPath);
   wcscat(DestName, FileName);
-  
+
+  while (NULL != (s = wcsstr(DestName, L"\\.\\")))
+    {
+      memmove(s, s + 2, (wcslen(s + 2) + 1) *sizeof(WCHAR));
+    }
+
   /* Create destination file, fail if it already exists */
   RtlInitUnicodeString(&UnicodeString,
     DestName);
 
+
   InitializeObjectAttributes(&ObjectAttributes,
     &UnicodeString,
     OBJ_CASE_INSENSITIVE,