From 1f1230692456f84bd470d3a47a838fc0c8f523d0 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Wed, 30 Mar 2011 21:47:48 +1300 Subject: [PATCH] Fix default utility not passing supportdir to zip/install-ra. Fix game crash when utility crashes during extract. --- OpenRA.Utility/Command.cs | 18 ++++++++++++++---- OpenRA.Utility/Program.cs | 6 +++++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/OpenRA.Utility/Command.cs b/OpenRA.Utility/Command.cs index 27ac9b8634..f8849bc50c 100644 --- a/OpenRA.Utility/Command.cs +++ b/OpenRA.Utility/Command.cs @@ -27,7 +27,7 @@ namespace OpenRA.Utility Console.WriteLine("Error: Invalid syntax"); return; } - + var zipFile = args[1]; var dest = args[2]; @@ -128,6 +128,7 @@ namespace OpenRA.Utility Console.WriteLine("Error: Invalid syntax"); return; } + var section = args[2].Split('.')[0]; var field = args[2].Split('.')[1]; string expandedPath = args[1].Replace("~", Environment.GetFolderPath(Environment.SpecialFolder.Personal)); @@ -138,17 +139,26 @@ namespace OpenRA.Utility public static void AuthenticateAndExtractZip(string[] args) { - Util.CallWithAdmin("--extract-zip-inner \"{0}\" \"{1}\"".F(args[1], args[2])); + var cmd = "--extract-zip-inner "; + for (var i = 1; i < args.Length; i++) + cmd += "\"{0}\" ".F(args[i]); + Util.CallWithAdmin(cmd); } public static void AuthenticateAndInstallRAPackages(string[] args) { - Util.CallWithAdmin("--install-ra-packages-inner \"{0}\" \"{1}\"".F(args[1], args[2])); + var cmd = "--install-ra-packages-inner "; + for (var i = 1; i < args.Length; i++) + cmd += "\"{0}\" ".F(args[i]); + Util.CallWithAdmin(cmd); } public static void AuthenticateAndInstallCncPackages(string[] args) { - Util.CallWithAdmin("--install-cnc-packages-inner \"{0}\" \"{1}\"".F(args[1], args[2])); + var cmd = "--install-cnc-packages-inner "; + for (var i = 1; i < args.Length; i++) + cmd += "\"{0}\" ".F(args[i]); + Util.CallWithAdmin(cmd); } } } diff --git a/OpenRA.Utility/Program.cs b/OpenRA.Utility/Program.cs index 5a4abaf6b3..269d2f843a 100644 --- a/OpenRA.Utility/Program.cs +++ b/OpenRA.Utility/Program.cs @@ -70,7 +70,6 @@ namespace OpenRA.Utility } try { - throw new InvalidOperationException("foo"); var action = WithDefault( null, () => actions[args[0]]); if (action == null) PrintUsage(); @@ -80,7 +79,12 @@ namespace OpenRA.Utility catch( Exception e ) { Log.AddChannel("utility", "utility.log"); + Log.Write("utility", "Received args: {0}", string.Join(" ", args)); Log.Write("utility", "{0}", e.ToString()); + + Console.WriteLine("Error: Utility application crashed. See utility.log for details"); + if (piping) + Console.Out.Close(); throw; }