CClash.Compiler.FixupArgs C# (CSharp) Method

FixupArgs() public method

public FixupArgs ( IEnumerable args ) : IEnumerable
args IEnumerable
return IEnumerable
        public IEnumerable<string> FixupArgs(IEnumerable<string> args)
        {
            var rv = new List<string>();
            var aa = args.ToArray();
            for (int i = 0; i < aa.Length; i++)
            {
                var a = aa[i];
                if (a.StartsWith("/D") || a.StartsWith("-D"))
                {
                    string val;
                    if (a.Length == 2 && (i + 1 < aa.Length))
                    {
                        val = aa[++i];
                    }
                    else
                    {
                        val = a.Substring(2);
                    }
                    if (val.Contains("=\""))
                    {
                        val = Regex.Replace(val, "\"", "\"\"\"");
                    }
                    rv.Add("/D" + val);
                }
                else
                {
                    rv.Add(a);
                }
            }

            return rv;
        }