]> git.wh0rd.org Git - nano.git/commitdiff
Speeding up Unicode validation.
authorBenno Schulenberg <bensberg@justemail.net>
Tue, 29 Mar 2016 14:46:53 +0000 (14:46 +0000)
committerBenno Schulenberg <bensberg@justemail.net>
Tue, 29 Mar 2016 14:46:53 +0000 (14:46 +0000)
(The measurable effect (during long searches, for example) is zero, though.)

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5773 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/chars.c

index d1aeea9bcecf95113ad4dcb653b0a20d43223a7e..d4a041908a1e57528651e821b2e51dd9c0b53b82 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,7 @@
        an invalid escape sequence, and when entering a verbatim keystroke.
        Leave the cursor off during Unicode input, for extra feedback.
        * src/browser.c (do_browser): Improve the wording of a message.
+       * src/chars.c (is_valid_unicode): Speed up Unicode validation.
 
 2016-03-28  Benno Schulenberg  <bensberg@justemail.net>
        * src/winio.c (statusbar): Don't bother putting back the cursor in
index 113ae2e4040457fd2299d4e7d5b5446cf4267786..ed5983096e683d3c0caf3c83b2ab279502b8636e 100644 (file)
@@ -955,9 +955,10 @@ bool has_blank_mbchars(const char *s)
 /* Return TRUE if wc is valid Unicode, and FALSE otherwise. */
 bool is_valid_unicode(wchar_t wc)
 {
-    return ((0 <= wc && wc <= 0x10FFFF) && (wc <= 0xD7FF || 0xE000 <=
-       wc) && (wc <= 0xFDCF || 0xFDF0 <= wc) && ((wc & 0xFFFF) <=
-       0xFFFD));
+    return ((0 <= wc && wc <= 0xD7FF) ||
+                (0xE000 <= wc && wc <= 0xFDCF) ||
+                (0xFDF0 <= wc && wc <= 0xFFFD) ||
+                (0xFFFF < wc && wc <= 0x10FFFF && (wc & 0xFFFF) <= 0xFFFD));
 }
 #endif