cmark

My personal build of CMark ✏️

Commit
ffe1230ab0e3dfda564ee8704a85cc4eb222fe54
Parent
f8c18d68e95d63bda55c77100fe395a7882bb71c
Author
John MacFarlane <jgm@berkeley.edu>
Date

Merge pull request #28 from nwellnhof/accept_unicode_nonchars

Pass-through Unicode non-characters

Diffstat

1 file changed, 2 insertions, 3 deletions

Status File Name N° Changes Insertions Deletions
Modified src/utf8.c 5 2 3
diff --git a/src/utf8.c b/src/utf8.c
@@ -172,8 +172,7 @@ int utf8proc_iterate(const uint8_t *str, int str_len, int32_t *dst)
 	case 3:
 		uc = ((str[0] & 0x0F) << 12) + ((str[1] & 0x3F) <<  6)
 		     + (str[2] & 0x3F);
-		if (uc < 0x800 || (uc >= 0xD800 && uc < 0xE000) ||
-		    (uc >= 0xFDD0 && uc < 0xFDF0)) uc = -1;
+		if (uc < 0x800 || (uc >= 0xD800 && uc < 0xE000)) uc = -1;
 		break;
 	case 4:
 		uc = ((str[0] & 0x07) << 18) + ((str[1] & 0x3F) << 12)
@@ -182,7 +181,7 @@ int utf8proc_iterate(const uint8_t *str, int str_len, int32_t *dst)
 		break;
 	}
 
-	if (uc < 0 || ((uc & 0xFFFF) >= 0xFFFE))
+	if (uc < 0)
 		return -1;
 
 	*dst = uc;