---
 expand.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

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;
-- 
2.1.3


Reply via email to