Fix a weird bug in piping in some case if you pipe to no exists >pipe:
then to a exists >pipe: it did make cmd crash for createfile only
SetLastErrror when it fails. and the old one was in the loop. to solv it
is to rest the GetLastError code before it is call.
Modified: trunk/reactos/subsys/system/cmd/cmd.c
_____
Modified: trunk/reactos/subsys/system/cmd/cmd.c
--- trunk/reactos/subsys/system/cmd/cmd.c 2005-07-14 14:51:35 UTC
(rev 16561)
+++ trunk/reactos/subsys/system/cmd/cmd.c 2005-07-14 18:16:57 UTC
(rev 16562)
@@ -669,14 +669,20 @@
{
SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES),
NULL, TRUE};
- /* Create unique temporary file name */
+
+
+ /* Create unique temporary file name */
GetTempFileName (szTempPath, _T("CMD"), 0,
szFileName[1]);
+ /* we need make sure the LastError msg is zero before calling
CreateFile */
+ SetLastError(0);
+
/* Set current stdout to temporary file */
hFile[1] = CreateFile (szFileName[1], GENERIC_WRITE, 0,
&sa,
TRUNCATE_EXISTING,
FILE_ATTRIBUTE_TEMPORARY, NULL);
- if (hFile[1] == INVALID_HANDLE_VALUE)
- {
+
+ if (hFile[1] == INVALID_HANDLE_VALUE)
+ {
LoadString(CMD_ModuleHandle, STRING_CMD_ERROR2,
szMsg, RC_STRING_MAX_SIZE);
ConErrPrintf(szMsg);
return;
Show replies by date