commit 4769b47dd72de793585fd0d686351d68d2030061
parent 0934e7f6ed164d713f3ac0e1556feff6e1cd97d6
Author: Jakob Kramer <jakob.kramer@gmx.de>
Date: Sat, 31 Jan 2015 20:57:29 +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.
Diffstat:
3 files changed, 9 insertions(+), 11 deletions(-)
diff --git 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
@@ -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
@@ -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 *);