diff --git a/src/pprint.c b/src/pprint.c index 3ce82df..6568c11 100644 --- a/src/pprint.c +++ b/src/pprint.c @@ -652,19 +652,27 @@ static void PFlushLineImpl( TidyDocImpl* doc ) { TidyPrintImpl* pprint = &doc->pprint; - uint i; + uint i, j; CheckWrapLine( doc ); + j = 0; /* Issue #133 - start text output */ if ( WantIndent(doc) ) { uint spaces = GetSpaces( pprint ); - for ( i = 0; i < spaces; ++i ) + for ( i = 0; i < spaces; ++i ) { TY_(WriteChar)( ' ', doc->docOut ); + if (( j < pprint->linelen ) && ( pprint->linebuf[j] == ' ' )) { + /*\ Issue #133 - ever increasing indent on each tidy run + * Now removed any leading spaces by the amount of the indent + \*/ + j++; + } + } } - for ( i = 0; i < pprint->linelen; ++i ) - TY_(WriteChar)( pprint->linebuf[i], doc->docOut ); + for ( ; j < pprint->linelen; j++ ) + TY_(WriteChar)( pprint->linebuf[j], doc->docOut ); if ( IsInString(pprint) ) TY_(WriteChar)( '\\', doc->docOut );