From 5a349e333087d9901d1a046139ec942c36afcb93 Mon Sep 17 00:00:00 2001 From: midipix Date: Sat, 9 Jan 2016 16:34:39 -0500 Subject: amgc_output_pad_symbol(): use symwidth, fix unspecified tab-width code path. of the three compilers in use (gcc 5.3.0, clang 3.6.2, cparser 1.22.1), flaws in the previous version of this function were only spotted by cparser. --- src/output/amgc_output_pad_symbol.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/output/amgc_output_pad_symbol.c b/src/output/amgc_output_pad_symbol.c index 6a475ee..6c1d34a 100644 --- a/src/output/amgc_output_pad_symbol.c +++ b/src/output/amgc_output_pad_symbol.c @@ -21,20 +21,15 @@ int amgc_output_pad_symbol( if (layout->symwidth < 1) return -1; - if (layout->tabwidth) { - symwidth += layout->tabwidth; - symwidth &= (~(layout->tabwidth-1)); - } else { - symwidth += AMGC_TAB_WIDTH; - symwidth &= (~(AMGC_TAB_WIDTH-1)); - } - if (layout->tabwidth == 0) return fprintf(fout,"%*c",layout->symwidth-len,' '); + symwidth += layout->tabwidth; + symwidth &= (~(layout->tabwidth-1)); + len &= (~(layout->tabwidth-1)); - while (len < layout->symwidth) { + while (len < symwidth) { if (fputc('\t',fout) < 0) return -1; else -- cgit v1.2.3