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.
This commit is contained in:
Jakob Kramer 2015-01-31 20:57:29 +01:00 committed by sin
parent 0934e7f6ed
commit 4769b47dd7
3 changed files with 9 additions and 11 deletions

14
cols.c
View File

@ -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);
}

2
sort.c
View File

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

4
text.h
View File

@ -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 *);