From c7163ec4493f4a8949d54d3eb03e46142c1b1fbc Mon Sep 17 00:00:00 2001 From: Brandon Turner Date: Sat, 20 Aug 2005 18:07:59 +0000 Subject: [PATCH] Change the way batch files and output files are opened. They now allow write and delete while being excuted. This is how MS cmd is done. Thanks to Greatlord, Filip, Thomas. svn path=/trunk/; revision=17450 --- reactos/subsys/system/cmd/batch.c | 4 ++-- reactos/subsys/system/cmd/cmd.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/reactos/subsys/system/cmd/batch.c b/reactos/subsys/system/cmd/batch.c index 8a63b226298..09d64849a5e 100644 --- a/reactos/subsys/system/cmd/batch.c +++ b/reactos/subsys/system/cmd/batch.c @@ -219,9 +219,9 @@ BOOL Batch (LPTSTR fullname, LPTSTR firstword, LPTSTR param) { HANDLE hFile; SetLastError(0); - hFile = CreateFile (fullname, GENERIC_READ, FILE_SHARE_READ, NULL, + hFile = CreateFile (fullname, GENERIC_READ, FILE_SHARE_WRITE | FILE_SHARE_READ | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | - FILE_FLAG_SEQUENTIAL_SCAN, NULL); + FILE_FLAG_SEQUENTIAL_SCAN | FILE_FLAG_WRITE_THROUGH, NULL); #ifdef _DEBUG DebugPrintf (_T("Batch: (\'%s\', \'%s\', \'%s\') hFile = %x\n"), diff --git a/reactos/subsys/system/cmd/cmd.c b/reactos/subsys/system/cmd/cmd.c index 9b469c0ce7b..ad5954ea89e 100644 --- a/reactos/subsys/system/cmd/cmd.c +++ b/reactos/subsys/system/cmd/cmd.c @@ -780,9 +780,9 @@ VOID ParseCommandLine (LPTSTR cmd) /* we need make sure the LastError msg is zero before calling CreateFile */ SetLastError(0); - hFile = CreateFile (out, GENERIC_WRITE, FILE_SHARE_WRITE, &sa, + hFile = CreateFile (out, GENERIC_WRITE, FILE_SHARE_WRITE | FILE_SHARE_READ | FILE_SHARE_DELETE, &sa, (nRedirFlags & OUTPUT_APPEND) ? OPEN_ALWAYS : CREATE_ALWAYS, - FILE_ATTRIBUTE_NORMAL, NULL); + FILE_ATTRIBUTE_NORMAL | FILE_FLAG_WRITE_THROUGH, NULL); if (hFile == INVALID_HANDLE_VALUE) {