From 4769b47dd72de793585fd0d686351d68d2030061 Mon Sep 17 00:00:00 2001 From: Jakob Kramer Date: Sat, 31 Jan 2015 20:57:29 +0100 Subject: [PATCH] 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. --- cols.c | 14 ++++++-------- sort.c | 2 +- text.h | 4 ++-- 3 files changed, 9 insertions(+), 11 deletions(-) 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 *);