Use the UTF8_POINT macro in cols(1)
No need for libutf any more
This commit is contained in:
		
							
								
								
									
										2
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								README
									
									
									
									
									
								
							@@ -21,7 +21,7 @@ The following tools are implemented:
 | 
			
		||||
0=*|x chroot          .
 | 
			
		||||
0=*|o cksum           .
 | 
			
		||||
0=*|o cmp             .
 | 
			
		||||
 #*|x cols            .
 | 
			
		||||
0#*|x cols            .
 | 
			
		||||
0=*|o comm            .
 | 
			
		||||
0=*|o cp              (-i)
 | 
			
		||||
0=*|x cron            .
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								cols.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								cols.c
									
									
									
									
									
								
							@@ -9,7 +9,6 @@
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
#include "text.h"
 | 
			
		||||
#include "utf.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
@@ -63,9 +62,10 @@ main(int argc, char *argv[])
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < b.nlines; i++) {
 | 
			
		||||
		/* TODO: fix libutf to run utflen on a memory chunk
 | 
			
		||||
		 * of given size to also handle embedded NULs */
 | 
			
		||||
		len = utflen(b.lines[i].data);
 | 
			
		||||
		for (j = 0, len = 0; j < b.lines[i].len; j++) {
 | 
			
		||||
			if (UTF8_POINT(b.lines[i].data[j]))
 | 
			
		||||
				len++;
 | 
			
		||||
		}
 | 
			
		||||
		if (len && b.lines[i].data[b.lines[i].len - 1] == '\n') {
 | 
			
		||||
			b.lines[i].data[--(b.lines[i].len)] = '\0';
 | 
			
		||||
			len--;
 | 
			
		||||
@@ -79,9 +79,10 @@ main(int argc, char *argv[])
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < rows; i++) {
 | 
			
		||||
		for (j = 0; j < cols && i + j * rows < b.nlines; j++) {
 | 
			
		||||
			/* TODO: fix libutf to run utflen on a memory chunk
 | 
			
		||||
			 * of given size to also handle embedded NULs */
 | 
			
		||||
			len = utflen(b.lines[i + j * rows].data);
 | 
			
		||||
			for (k = 0, len = 0; k < b.lines[i + j * rows].len; k++) {
 | 
			
		||||
				if (UTF8_POINT(b.lines[i + j * rows].data[k]))
 | 
			
		||||
					len++;
 | 
			
		||||
			}
 | 
			
		||||
			fwrite(b.lines[i + j * rows].data, 1,
 | 
			
		||||
			       b.lines[i + j * rows].len, stdout);
 | 
			
		||||
			if (j < cols - 1)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user