Commit Diff


commit - 1dc96d88793508394f21675b6084a3092d1c4dcf
commit + de151cb67023bb839d4faae4f2b49090a75ecf79
blob - e0e97f5607bfff0056604783be9887e989c3a1bc
blob + 9479dfd9fe9aeb9e15948bb1acc1b8b1af7d0c0f
--- utf8.c
+++ utf8.c
@@ -103,48 +103,6 @@ utf8_encode(uint32_t cp, char *s)
 	}
 }
 
-char *
-utf8_nth(char *s, size_t n)
-{
-	size_t i;
-	uint32_t cp = 0, state = 0;
-
-	for (i = 0; *s && i < n; ++s)
-		if (!decode(&state, &cp, *s))
-			++i;
-
-	if (state != UTF8_ACCEPT)
-		return NULL;
-	if (i == n)
-		return s;
-	return NULL;
-}
-
-size_t
-utf8_cplen(char *s)
-{
-	uint32_t cp = 0, state = 0;
-	size_t len;
-
-	len = 0;
-	for (; *s; ++s)
-		if (!decode(&state, &cp, *s))
-			len++;
-	return len;
-}
-
-size_t
-utf8_ncplen(const char *s, size_t slen)
-{
-	uint32_t cp = 0, state = 0;
-	size_t len = 0;
-
-	for (; slen > 0 && *s; ++s, --slen)
-		if (!decode(&state, &cp, *s))
-			len++;
-	return len;
-}
-
 /* returns only 0, 1, 2 or 8.  assumes sizeof(wchar_t) is 4 */
 size_t
 utf8_chwidth(uint32_t cp)
@@ -207,31 +165,6 @@ utf8_swidth_between(const char *str, const char *end)
 	return tot;
 }
 
-char *
-utf8_next_cp(const char *s)
-{
-	uint32_t cp = 0, state = 0;
-
-	for (; *s; ++s)
-		if (!decode(&state, &cp, *s))
-			break;
-	return (char*)s+1;
-}
-
-char *
-utf8_prev_cp(const char *start, const char *base)
-{
-	uint8_t c;
-
-	for (; start > base; start--) {
-		c = *start;
-		if ((c & 0xC0) != 0x80)
-			return (char*)start;
-	}
-
-	return (char*)base;
-}
-
 /*
  * XXX: This is not correct.  There are codepoints classified as
  * "emoji", but these can be joined together to form more complex
blob - 2c6273046d618fe14d98dc139adee0409a99cf42
blob + 3dcbe2bf50a08b51e2e3028c80cef47f6a7880be
--- utf8.h
+++ utf8.h
@@ -23,15 +23,10 @@
 /* utf8.c */
 uint32_t	 utf8_decode(uint32_t*restrict, uint32_t*restrict, uint8_t);
 size_t		 utf8_encode(uint32_t, char*);
-char		*utf8_nth(char*, size_t);
-size_t		 utf8_cplen(char*);
-size_t		 utf8_ncplen(const char *, size_t);
 size_t		 utf8_chwidth(uint32_t);
 size_t		 utf8_snwidth(const char*, size_t);
 size_t		 utf8_swidth(const char*);
 size_t		 utf8_swidth_between(const char*, const char*);
-char		*utf8_next_cp(const char*);
-char		*utf8_prev_cp(const char*, const char*);
 int		 emojied_line(const char *, const char **);
 
 /* emoji-matcher.c */