Fix the unicode character limit (0 .. 0x10ffff)

For some reason I had limited things to 0xffff, it really should be 0x10ffff.

We don't actually support a full 32-bit unicode model anyway, since we
use the high bits for the control/meta/^X/special bits, but there was no
reason to limit things to 16 bits when we had 28 bits available.  And
the real limit for real Unicode characters is 0x10ffff.

Add a silly example character past the 16-bit range to the UTF8 demo
file:
  'SMILING FACE WITH HALO' (U+1F607)
from the 'emoticons' block.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
diff --git a/UTF-8-demo.txt b/UTF-8-demo.txt
index 4363f27..61b50e0 100644
--- a/UTF-8-demo.txt
+++ b/UTF-8-demo.txt
@@ -210,3 +210,5 @@
   ║└─╥─┘║  │╚═╤═╝│  │╘═╪═╛│  │╙─╀─╜│  ┃└─╂─┘┃  ░░▒▒▓▓██ ┊  ┆ ╎ ╏  ┇ ┋ ▏
   ╚══╩══╝  └──┴──┘  ╰──┴──╯  ╰──┴──╯  ┗━━┻━━┛  ▗▄▖▛▀▜   └╌╌┘ ╎ ┗╍╍┛ ┋  ▁▂▃▄▅▆▇█
                                                ▝▀▘▙▄▟
+
+😇
diff --git a/main.c b/main.c
index 2cf7462..08f2f19 100644
--- a/main.c
+++ b/main.c
@@ -500,7 +500,7 @@
 	    || (c >= 0x80 && c <= 0xFE)) {
 #else
 #if	VMS || BSD || USG	/* 8BIT P.K. */
-	    || (c >= 0xA0 && c <= 0xFFFF)) {
+	    || (c >= 0xA0 && c <= 0x10FFFF)) {
 #else
 	    ) {
 #endif