Tpm2Lib.TpmStructPrinter.AddLine C# (CSharp) Method

AddLine() private method

private AddLine ( StringBuilder b, string formatString ) : void
b StringBuilder
formatString string
return void
        private void AddLine(StringBuilder b, string formatString, params string[] data)
        {
            const int firstTab = 24;
            const int secondTab = 50;
            // Coding
            //   @ - first tab
            //   # - second tab
            // We always add indent spaces

            // ReSharper disable once RedundantAssignment
            String s = formatString = Spaces() + formatString;

            // Is anything too big to fit?
            if (data[1].Length > secondTab - firstTab)
            {
                string dd = data[1];
                if (dd.Contains('|'))
                {
                    // Split enum OR onto multiple lines
                    dd = dd.Replace("|", "|\n" + new String(' ', firstTab + 1));
                }
                if (dd.Contains(".."))
                {
                    // Split hex array
                    dd = dd.Replace("..", "..\n" + new String(' ', firstTab + 2));
                }
                data[1] = dd;

            }

            // Fill it in
            // ReSharper disable once CoVariantArrayConversion
            s = String.Format(s, data);

            // Set the tabs
            string outS = "";
            int column = 0;
            foreach (char c in s)
            {
                if (c == '\n')
                {
                    column = -1;
                }
                if (c == '@')
                {
                    int numSpaces = firstTab - column;
                    if (numSpaces <= 0)
                    {
                        numSpaces = 1;
                    }
                    outS += new String(' ', numSpaces);
                    column += numSpaces;
                    continue;
                }
                if (c == '#')
                {
                    int numSpaces = secondTab - column;
                    if (numSpaces <= 0)
                    {
                        numSpaces = 1;
                    }
                    outS += new String(' ', numSpaces);
                    column += numSpaces;
                    continue;
                }
                outS += c;
                column++;
            }
            outS += "\n";
            b.Append(outS);
        }