[hackers] [sbase] Use size_t for number of lines in linebuf || Jakob Kramer
commit f88e5a854faeeb076c0ca24602a70197b53915df
Author: Jakob Kramer <jakob.kramer_AT_gmx.de>
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
_AT_@ -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)
_AT_@ -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();
_AT_@ -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
_AT_@ -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
_AT_@ -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 *);
Received on Sat Jan 31 2015 - 23:49:59 CET
This archive was generated by hypermail 2.3.0
: Sun Feb 01 2015 - 00:00:38 CET