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