XLog.Formatters.LineFormatter.AppendDigitsFast C# (CSharp) Method

AppendDigitsFast() private method

private AppendDigitsFast ( char &buffer, int value, int maxLen, char padding = '0' ) : void
buffer char
value int
maxLen int
padding char
return void
        private static unsafe void AppendDigitsFast(ref char* buffer, int value, int maxLen, char padding = '0')
        {
            char* p = buffer + maxLen;
            int n = value;
            do
            {
                *--p = (char)(n % 10 + '0');
                n /= 10;
            } while ((n != 0) && (p > buffer));

            int digits = (int)(buffer + maxLen - p);

            while ((digits < maxLen) && (p > buffer))
            {
                *--p = padding;
                digits++;
            }

            buffer += maxLen;
        }