Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F137777654
D17467.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D17467.diff
View Options
Index: head/usr.bin/localedef/ctype.c
===================================================================
--- head/usr.bin/localedef/ctype.c
+++ head/usr.bin/localedef/ctype.c
@@ -120,7 +120,13 @@
ctn->ctype |= (_ISDIGIT | _ISGRAPH | _ISPRINT | _ISXDIGIT | _E4);
break;
case T_ISSPACE:
- ctn->ctype |= _ISSPACE;
+ /*
+ * This can be troublesome as <form-feed>, <newline>,
+ * <carriage-return>, <tab>, and <vertical-tab> are defined both
+ * as space and cntrl, and POSIX doesn't allow cntrl/print
+ * combination. We will take care of this in dump_ctype().
+ */
+ ctn->ctype |= (_ISSPACE | _ISPRINT);
break;
case T_ISCNTRL:
ctn->ctype |= _ISCNTRL;
@@ -378,9 +384,15 @@
ctn->ctype |= _ISPRINT;
/*
- * Finally, POSIX requires that certain combinations
- * are invalid. We don't flag this as a fatal error,
- * but we will warn about.
+ * POSIX requires that certain combinations are invalid.
+ * Try fixing the cases we know about (see add_ctype_impl()).
+ */
+ if ((ctn->ctype & (_ISSPACE|_ISCNTRL)) == (_ISSPACE|_ISCNTRL))
+ ctn->ctype &= ~_ISPRINT;
+
+ /*
+ * Finally, don't flag remaining cases as a fatal error,
+ * and just warn about them.
*/
if ((ctn->ctype & _ISALPHA) &&
(ctn->ctype & (_ISPUNCT|_ISDIGIT)))
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Nov 26, 6:20 PM (9 h, 53 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
26190218
Default Alt Text
D17467.diff (1 KB)
Attached To
Mode
D17467: PR225692: localedef: mark "space" also as "print" excluding known conflicts
Attached
Detach File
Event Timeline
Log In to Comment