static void Main(string[] args) { Server server = new Server(); var hasArg = args.Length > 0; var arg = hasArg ? args[0] : null; if (hasArg && args[0] == "selftest") { VerificationTask.SelfTest(); } else if (hasArg && File.Exists(arg)) { Console.WriteLine("# Reading from {0}", Path.GetFileName(arg)); Console.SetIn(new StreamReader(arg, Encoding.UTF8)); server.Loop(); } else { server.Loop(); } }
static void Main(string[] args) { Server server = new Server(); // read the optional flag (only one flag is allowed) bool plaintext = false; bool selftest = false; bool decode = false; bool encode = false; var n = 0; // number of consumed args var arg = n < args.Length ? args[n] : null; if (arg == "-plaintext") { plaintext = true; n++; } else if (arg == "-selftest") { selftest = true; n++; } else if (arg == "-decode") { decode = true; n++; } else if (arg == "-encode") { encode = true; n++; } if (selftest) { VerificationTask.SelfTest(); return; } if (n < args.Length) { var inputFilename = args[n]; if (File.Exists(inputFilename)) { Console.WriteLine("# Reading from {0}", Path.GetFileName(inputFilename)); Console.SetIn(new StreamReader(inputFilename, Encoding.UTF8)); } else { Console.WriteLine("Error: file '{0}' does not exist", inputFilename); } } if (decode) { server.Decode(); } else if (encode) { server.Encode(); } else { server.Loop(plaintext); } }