diff --git a/expand.c b/expand.c index 2449a8e..35b7a9a 100644 --- a/expand.c +++ b/expand.c @@ -28,6 +28,8 @@ main(int argc, char *argv[]) break; case 't': tabstop = estrtol(EARGF(usage()), 0); + if (!tabstop) + eprintf("tab size cannot be zero\n"); break; default: usage(); @@ -66,7 +68,7 @@ expand(const char *file, FILE *fp, int tabstop) do { col++; putchar(' '); - } while (col & (tabstop - 1)); + } while (col % tabstop); } else { putchar('\t'); col += tabstop - col % tabstop;