source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: Make some values "int" that were "size_t".
@ 2011-05-14 18:15 kristaps
  2011-05-14 21:35 ` Joerg Sonnenberger
  0 siblings, 1 reply; 3+ messages in thread
From: kristaps @ 2011-05-14 18:15 UTC (permalink / raw)
  To: source

Log Message:
-----------
Make some values "int" that were "size_t".  These are primarily used for
indexing into arrays, so this removes lots of casts from size_t to int.

Modified Files:
--------------
    mdocml:
        term.c
        term.h

Revision Data
-------------
Index: term.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/term.c,v
retrieving revision 1.187
retrieving revision 1.188
diff -Lterm.c -Lterm.c -u -p -r1.187 -r1.188
--- term.c
+++ term.c
@@ -36,7 +36,7 @@
 static	void		  spec(struct termp *, const char *, size_t);
 static	void		  res(struct termp *, const char *, size_t);
 static	void		  bufferc(struct termp *, char);
-static	void		  adjbuf(struct termp *p, size_t);
+static	void		  adjbuf(struct termp *p, int);
 static	void		  encode(struct termp *, const char *, size_t);
 
 
@@ -155,12 +155,12 @@ term_flushln(struct termp *p)
 	vis = vend = 0;
 	i = 0;
 
-	while (i < (int)p->col) {
+	while (i < p->col) {
 		/*
 		 * Handle literal tab characters: collapse all
 		 * subsequent tabs into a single huge set of spaces.
 		 */
-		while (i < (int)p->col && '\t' == p->buf[i]) {
+		while (i < p->col && '\t' == p->buf[i]) {
 			vend = (vis / p->tabwidth + 1) * p->tabwidth;
 			vbl += vend - vis;
 			vis = vend;
@@ -174,7 +174,7 @@ term_flushln(struct termp *p)
 		 * space is printed according to regular spacing rules).
 		 */
 
-		for (j = i, jhy = 0; j < (int)p->col; j++) {
+		for (j = i, jhy = 0; j < p->col; j++) {
 			if ((j && ' ' == p->buf[j]) || '\t' == p->buf[j])
 				break;
 
@@ -217,7 +217,7 @@ term_flushln(struct termp *p)
 		}
 
 		/* Write out the [remaining] word. */
-		for ( ; i < (int)p->col; i++) {
+		for ( ; i < p->col; i++) {
 			if (vend > bp && jhy > 0 && i > jhy)
 				break;
 			if ('\t' == p->buf[i])
@@ -524,7 +524,7 @@ term_word(struct termp *p, const char *w
 
 
 static void
-adjbuf(struct termp *p, size_t sz)
+adjbuf(struct termp *p, int sz)
 {
 
 	if (0 == p->maxcols)
@@ -532,7 +532,8 @@ adjbuf(struct termp *p, size_t sz)
 	while (sz >= p->maxcols)
 		p->maxcols <<= 2;
 
-	p->buf = mandoc_realloc(p->buf, sizeof(int) * p->maxcols);
+	p->buf = mandoc_realloc
+		(p->buf, sizeof(int) * (size_t)p->maxcols);
 }
 
 
@@ -543,7 +544,7 @@ bufferc(struct termp *p, char c)
 	if (p->col + 1 >= p->maxcols)
 		adjbuf(p, p->col + 1);
 
-	p->buf[(int)p->col++] = c;
+	p->buf[p->col++] = c;
 }
 
 
@@ -551,7 +552,10 @@ static void
 encode(struct termp *p, const char *word, size_t sz)
 {
 	enum termfont	  f;
-	int		  i;
+	int		  i, len;
+
+	/* LINTED */
+	len = sz;
 
 	/*
 	 * Encode and buffer a string of characters.  If the current
@@ -560,31 +564,31 @@ encode(struct termp *p, const char *word
 	 */
 
 	if (TERMFONT_NONE == (f = term_fonttop(p))) {
-		if (p->col + sz >= p->maxcols) 
-			adjbuf(p, p->col + sz);
-		for (i = 0; i < (int)sz; i++)
-			p->buf[(int)p->col++] = word[i];
+		if (p->col + len >= p->maxcols) 
+			adjbuf(p, p->col + len);
+		for (i = 0; i < len; i++)
+			p->buf[p->col++] = word[i];
 		return;
 	}
 
 	/* Pre-buffer, assuming worst-case. */
 
-	if (p->col + 1 + (sz * 3) >= p->maxcols)
-		adjbuf(p, p->col + 1 + (sz * 3));
+	if (p->col + 1 + (len * 3) >= p->maxcols)
+		adjbuf(p, p->col + 1 + (len * 3));
 
-	for (i = 0; i < (int)sz; i++) {
-		if ( ! isgraph((u_char)word[i])) {
-			p->buf[(int)p->col++] = word[i];
+	for (i = 0; i < len; i++) {
+		if ( ! isgraph((unsigned char)word[i])) {
+			p->buf[p->col++] = word[i];
 			continue;
 		}
 
 		if (TERMFONT_UNDER == f)
-			p->buf[(int)p->col++] = '_';
+			p->buf[p->col++] = '_';
 		else
-			p->buf[(int)p->col++] = word[i];
+			p->buf[p->col++] = word[i];
 
-		p->buf[(int)p->col++] = 8;
-		p->buf[(int)p->col++] = word[i];
+		p->buf[p->col++] = 8;
+		p->buf[p->col++] = word[i];
 	}
 }
 
Index: term.h
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/term.h,v
retrieving revision 1.81
retrieving revision 1.82
diff -Lterm.h -Lterm.h -u -p -r1.81 -r1.82
--- term.h
+++ term.h
@@ -82,10 +82,10 @@ struct	termp {
 	size_t		  defrmargin;	/* Right margin of the device. */
 	size_t		  rmargin;	/* Current right margin. */
 	size_t		  maxrmargin;	/* Max right margin. */
-	size_t		  maxcols;	/* Max size of buf. */
+	int		  maxcols;	/* Max size of buf. */
 	size_t		  offset;	/* Margin offest. */
 	size_t		  tabwidth;	/* Distance of tab positions. */
-	size_t		  col;		/* Bytes in buf. */
+	int		  col;		/* Bytes in buf. */
 	size_t		  viscol;	/* Chars on current line. */
 	int		  overstep;	/* See termp_flushln(). */
 	int		  flags;
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-05-14 23:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-14 18:15 mdocml: Make some values "int" that were "size_t" kristaps
2011-05-14 21:35 ` Joerg Sonnenberger
2011-05-14 23:38   ` Kristaps Dzonsons

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).