commit 4769b47dd72de793585fd0d686351d68d2030061
Author: Jakob Kramer <[email protected]>
Date:   Sat Jan 31 20:57:29 2015 +0100

    Use size_t for number of lines in linebuf
    
    .nlines and .capacity are used as array indices and
    should therefore be of type size_t.

diff --git a/cols.c b/cols.c
index f89dfb1..fce4c19 100644
--- a/cols.c
+++ b/cols.c
@@ -11,12 +11,12 @@
 #include "utf.h"
 #include "util.h"
 
-static long chars = 65;
+static size_t chars = 65;
 static int cflag;
 static struct linebuf b = EMPTY_LINEBUF;
 
-static long n_columns;
-static long n_rows;
+static size_t n_columns;
+static size_t n_rows;
 
 static void
 usage(void)
@@ -27,16 +27,14 @@ usage(void)
 int
 main(int argc, char *argv[])
 {
-       long i, l, col;
-       size_t len, bytes;
-       int maxlen = 0;
+       size_t i, l, col, len, bytes, maxlen = 0;
        struct winsize w;
        FILE *fp;
 
        ARGBEGIN {
        case 'c':
                cflag = 1;
-               chars = estrtonum(EARGF(usage()), 3, LONG_MAX);
+               chars = estrtonum(EARGF(usage()), 3, MIN(LLONG_MAX, SIZE_MAX));
                break;
        default:
                usage();
@@ -84,7 +82,7 @@ main(int argc, char *argv[])
                        len = utflen(b.lines[l]);
                        fputs(b.lines[l], stdout);
                        if (col < n_columns)
-                               printf("%*s", maxlen + 1 - (int)len, "");
+                               printf("%*s", (int)(maxlen + 1 - len), "");
                }
                fputs("\n", stdout);
        }
diff --git a/sort.c b/sort.c
index 31c3f7d..f917bb9 100644
--- a/sort.c
+++ b/sort.c
@@ -52,7 +52,7 @@ usage(void)
 int
 main(int argc, char *argv[])
 {
-       long i;
+       size_t i;
        FILE *fp;
        struct linebuf linebuf = EMPTY_LINEBUF;
        int global_flags = 0;
diff --git a/text.h b/text.h
index a8117c9..95d2579 100644
--- a/text.h
+++ b/text.h
@@ -2,8 +2,8 @@
 
 struct linebuf {
        char **lines;
-       long nlines;
-       long capacity;
+       size_t nlines;
+       size_t capacity;
 };
 #define EMPTY_LINEBUF {NULL, 0, 0,}
 void getlines(FILE *, struct linebuf *);

Reply via email to