X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=coreutils%2Fexpand.c;h=cfb1e25d9216eebbd72593d18433233aa53afe00;hb=968951fd0ced7d0d4b81c0ee4466eada93ae4128;hp=60ac9f56834fafb34de09b488507ff7eb9c5c378;hpb=1abc07dcca237e6b5c98fea740e59d59c801c9e2;p=oweals%2Fbusybox.git diff --git a/coreutils/expand.c b/coreutils/expand.c index 60ac9f568..cfb1e25d9 100644 --- a/coreutils/expand.c +++ b/coreutils/expand.c @@ -81,12 +81,13 @@ static void unexpand(FILE *file, unsigned tab_size, unsigned opt) while (*ptr) { unsigned n; - unsigned len; + unsigned len = 0; while (*ptr == ' ') { - column++; ptr++; + len++; } + column += len; if (*ptr == '\t') { column += tab_size - (column % tab_size); ptr++; @@ -94,16 +95,18 @@ static void unexpand(FILE *file, unsigned tab_size, unsigned opt) } n = column / tab_size; - column = column % tab_size; - while (n--) - putchar('\t'); + if (n) { + len = column = column % tab_size; + while (n--) + putchar('\t'); + } if ((opt & OPT_INITIAL) && ptr != line) { - printf("%*s%s", column, "", ptr); + printf("%*s%s", len, "", ptr); break; } n = strcspn(ptr, "\t "); - printf("%*s%.*s", column, "", n, ptr); + printf("%*s%.*s", len, "", n, ptr); # if ENABLE_FEATURE_ASSUME_UNICODE { char c;