SMOLNET PORTAL home about changes
iunicode support - iomenu - interactive terminal-based selection menu	Err	bitreich.org	70
hgit clone git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu	URL:git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu	bitreich.org	70
1Log	/scm/iomenu/log.gph	bitreich.org	70
1Files	/scm/iomenu/files.gph	bitreich.org	70
1Refs	/scm/iomenu/refs.gph	bitreich.org	70
1Tags	/scm/iomenu/tag	bitreich.org	70
1README	/scm/iomenu/file/README.gph	bitreich.org	70
1LICENSE	/scm/iomenu/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit 787fef74f0f92d00f18cc2fc749606b3501a1039	/scm/iomenu/commit/787fef74f0f92d00f18cc2fc749606b3501a1039.gph	bitreich.org	70
1parent a0f50a4b966a0ab9afc294729dc08cc4c51c8aef	/scm/iomenu/commit/a0f50a4b966a0ab9afc294729dc08cc4c51c8aef.gph	bitreich.org	70
hAuthor: Josuah Demangeon <josuah.demangeon@gandi.net>	URL:mailto:josuah.demangeon@gandi.net	bitreich.org	70
iDate:   Wed, 23 Aug 2017 00:15:13 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
iunicode support	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M .gitignore                          |       2 +-	Err	bitreich.org	70
i  M utf8.c                              |      20 +++++++++++++++-----	Err	bitreich.org	70
i	Err	bitreich.org	70
i2 files changed, 16 insertions(+), 6 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/.gitignore b/.gitignore	/scm/iomenu/file/.gitignore.gph	bitreich.org	70
i@@ -1,2 +1,2 @@	Err	bitreich.org	70
i iomenu	Err	bitreich.org	70
i-stest	Err	bitreich.org	70
i+*.o	Err	bitreich.org	70
1diff --git a/utf8.c b/utf8.c	/scm/iomenu/file/utf8.c.gph	bitreich.org	70
i@@ -22,8 +22,9 @@	Err	bitreich.org	70
i  * binary masks.	Err	bitreich.org	70
i  */	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+#include <ctype.h>	Err	bitreich.org	70
i #include <stdlib.h>	Err	bitreich.org	70
i-#include <stdio.h>	Err	bitreich.org	70
i+#include <string.h>	Err	bitreich.org	70
i 	Err	bitreich.org	70
i #include "utf8.h"	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -45,7 +46,7 @@ utf8len(char *s)	Err	bitreich.org	70
i                      (*sp < 0xfe) ? 6 :  /* 1111110x < 11111110 */	Err	bitreich.org	70
i                      (*sp < 0xff) ? 7 :  /* 11111110 < 11111111 */	Err	bitreich.org	70
i                                     0;	Err	bitreich.org	70
i-        if (len > strlen(s)) return 0;	Err	bitreich.org	70
i+        if ((size_t) len > strlen(s)) return 0;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         /* check continuation bytes */	Err	bitreich.org	70
i         for (sp++, i = 1; i < len; i++, sp++)	Err	bitreich.org	70
i@@ -80,7 +81,7 @@ utf8torune(long *r, char *s)	Err	bitreich.org	70
i         char mask[] = { 0x7f, 0x1f, 0x0f, 0x07, 0x03, 0x01 };	Err	bitreich.org	70
i         size_t i, len = utf8len(s);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        if (len == 0 || len > 6 || len > strlen(s))	Err	bitreich.org	70
i+        if (len == 0 || len > 6 || (size_t) len > strlen(s))	Err	bitreich.org	70
i                 return 0;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         /* first byte */	Err	bitreich.org	70
i@@ -124,9 +125,9 @@ utf8runeisunicode(long r)	Err	bitreich.org	70
i  * code points.	Err	bitreich.org	70
i  */	Err	bitreich.org	70
i int	Err	bitreich.org	70
i-utf8check(char *s, size_t len)	Err	bitreich.org	70
i+utf8check(char *s)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i-        size_t shift;	Err	bitreich.org	70
i+        size_t shift, len = strlen(s);	Err	bitreich.org	70
i         long r = 0;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         while (len > 0) {	Err	bitreich.org	70
i@@ -140,3 +141,12 @@ utf8check(char *s, size_t len)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         return 1;	Err	bitreich.org	70
i }	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+/*	Err	bitreich.org	70
i+ * Return 1 if the rune is a printable character, and 0 otherwise.	Err	bitreich.org	70
i+ */	Err	bitreich.org	70
i+int	Err	bitreich.org	70
i+utf8isprint(long r)	Err	bitreich.org	70
i+{	Err	bitreich.org	70
i+        return (0x1f < r && r != 0x7f && r < 0x80) || 0x9f < r;	Err	bitreich.org	70
i+}	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/iomenu/commit/787fef74f0f92d0...
Content-Typetext/plain; charset=utf-8