[hackers] [sbase] Amend isspacerune() properly with WS and S Unicode characters || FRIGN

From: <git_AT_suckless.org>
Date: Thu, 12 Feb 2015 16:49:33 +0100 (CET)

commit 2a3aa7bf5dc766db03929a6b91a3ddac9f2dc076
Author: FRIGN <dev_AT_frign.de>
Date: Thu Feb 12 16:41:57 2015 +0100

    Amend isspacerune() properly with WS and S Unicode characters

diff --git a/libutf/isspacerune.c b/libutf/isspacerune.c
index 8d86d41..76783a4 100644
--- a/libutf/isspacerune.c
+++ b/libutf/isspacerune.c
_AT_@ -4,13 +4,18 @@
 #include "../utf.h"
 #include "runetype.h"
 
+static Rune space3[][2] = {
+ { 0x0009, 0x000B },
+};
+
 static Rune space2[][2] = {
+ { 0x000B, 0x000C },
+ { 0x001F, 0x0020 },
         { 0x2000, 0x200A },
         { 0x2028, 0x2029 },
 };
 
 static Rune space1[] = {
- 0x0020,
         0x00A0,
         0x1680,
         0x202F,
_AT_@ -21,6 +26,10 @@ static Rune space1[] = {
 int
 isspacerune(Rune r)
 {
+ Rune *match;
+
+ if(match = bsearch(&r, space3, nelem(space3), sizeof *space3, &rune2cmp))
+ return !((r - match[0]) % 2);
         if(bsearch(&r, space2, nelem(space2), sizeof *space2, &rune2cmp))
                 return 1;
         if(bsearch(&r, space1, nelem(space1), sizeof *space1, &rune1cmp))
Received on Thu Feb 12 2015 - 16:49:33 CET

This archive was generated by hypermail 2.3.0 : Thu Feb 12 2015 - 17:00:11 CET