Explorar o código

Chunked input is not implemented, and won't be for now

(cherry picked from commit 7c33df0838d7b36abf2e359cf4353a3f5e54c5e3)

Source commit: bebe3eeaa0ce16036ba4fc1f765f694bf58e768b
Martin Prikryl %!s(int64=5) %!d(string=hai) anos
pai
achega
b2bfc3e5a8
Modificáronse 1 ficheiros con 6 adicións e 7 borrados
  1. 6 7
      source/windows/ConsoleRunner.cpp

+ 6 - 7
source/windows/ConsoleRunner.cpp

@@ -2307,9 +2307,8 @@ void __fastcall Usage(TConsole * Console)
   if (CommandLineOnly)
   {
     PrintUsageSyntax(
-      Console, FORMAT(L"[/%s[=%s|%s]] [/%s[=%s|%s]]",
-      (LowerCase(STDOUT_SWITCH), STDINOUT_BINARY_VALUE, STDINOUT_CHUNKED_VALUE,
-       LowerCase(STDIN_SWITCH), STDINOUT_BINARY_VALUE, STDINOUT_CHUNKED_VALUE)));
+      Console, FORMAT(L"[/%s[=%s|%s]] [/%s]",
+      (LowerCase(STDOUT_SWITCH), STDINOUT_BINARY_VALUE, STDINOUT_CHUNKED_VALUE, LowerCase(STDIN_SWITCH))));
   }
   PrintUsageSyntax(Console,
     FORMAT(L"[/%s=<logfile> [/loglevel=<level>]] [/%s=[<count>%s]<size>]", (LowerCase(LOG_SWITCH), LowerCase(LOGSIZE_SWITCH), LOGSIZE_SEPARATOR)));
@@ -2815,7 +2814,7 @@ int Info(TConsole * Console)
   return Result;
 }
 //---------------------------------------------------------------------------
-TStdInOutMode ParseStdInOutMode(TProgramParams * Params, const UnicodeString & Switch)
+TStdInOutMode ParseStdInOutMode(TProgramParams * Params, const UnicodeString & Switch, bool AllowChunked)
 {
   TStdInOutMode Result;
   UnicodeString Value;
@@ -2829,7 +2828,7 @@ TStdInOutMode ParseStdInOutMode(TProgramParams * Params, const UnicodeString & S
     {
       Result = TConsoleCommStruct::TInitEvent::BINARY;
     }
-    else if (SameText(Value, STDINOUT_CHUNKED_VALUE))
+    else if (SameText(Value, STDINOUT_CHUNKED_VALUE) && AllowChunked)
     {
       Result = TConsoleCommStruct::TInitEvent::CHUNKED;
     }
@@ -2857,8 +2856,8 @@ int __fastcall Console(TConsoleMode Mode)
     if (Params->FindSwitch(L"consoleinstance", ConsoleInstance))
     {
       Configuration->Usage->Inc(L"ConsoleExternal");
-      TStdInOutMode StdOut = ParseStdInOutMode(Params, STDOUT_SWITCH);
-      TStdInOutMode StdIn = ParseStdInOutMode(Params, STDIN_SWITCH);
+      TStdInOutMode StdOut = ParseStdInOutMode(Params, STDOUT_SWITCH, true);
+      TStdInOutMode StdIn = ParseStdInOutMode(Params, STDIN_SWITCH, false);
       bool NoInteractiveInput = Params->FindSwitch(NOINTERACTIVEINPUT_SWITCH) || (StdIn != TConsoleCommStruct::TInitEvent::OFF);
       Console = new TExternalConsole(ConsoleInstance, NoInteractiveInput, StdOut, StdIn);
     }