[CMD]: New CTTY command.
[reactos.git] / reactos / base / shell / cmd / redir.c
index 50f573a..383c08a 100644 (file)
 static const PCON_STREAM StdStreams[] = { StdIn, StdOut, StdErr };
 static HANDLE ExtraHandles[10 - 3]; // 3 == ARRAYSIZE(StdStreams)
 
-static HANDLE GetHandle(UINT Number)
+HANDLE GetHandle(UINT Number)
 {
     if (Number < 3)
         return ConStreamGetOSHandle(StdStreams[Number]);
         // return GetStdHandle(STD_INPUT_HANDLE - Number);
-    else
+    else if (Number < ARRAYSIZE(ExtraHandles) + 3)
         return ExtraHandles[Number - 3];
+    else
+        return INVALID_HANDLE_VALUE;
 }
 
-static VOID SetHandle(UINT Number, HANDLE Handle)
+VOID SetHandle(UINT Number, HANDLE Handle)
 {
     if (Number < 3)
     {
@@ -53,10 +55,8 @@ static VOID SetHandle(UINT Number, HANDLE Handle)
         /* Synchronize the associated Win32 handle */
         SetStdHandle(STD_INPUT_HANDLE - Number, Handle);
     }
-    else
-    {
+    else if (Number < ARRAYSIZE(ExtraHandles) + 3)
         ExtraHandles[Number - 3] = Handle;
-    }
 }
 
 BOOL