summaryrefslogtreecommitdiff
path: root/src/u8c
diff options
context:
space:
mode:
Diffstat (limited to 'src/u8c')
-rw-r--r--src/u8c/isalnum.c33
-rw-r--r--src/u8c/isalpha.c92
-rw-r--r--src/u8c/iscntrl.c62
-rw-r--r--src/u8c/isdigit.c42
-rw-r--r--src/u8c/ispunct.c111
-rw-r--r--src/u8c/isspace.c36
-rw-r--r--src/u8c/u32cmp.c6
7 files changed, 381 insertions, 1 deletions
diff --git a/src/u8c/isalnum.c b/src/u8c/isalnum.c
new file mode 100644
index 0000000..d2ab013
--- /dev/null
+++ b/src/u8c/isalnum.c
@@ -0,0 +1,33 @@
+/*
+ Copyright 2021 Gabriel Jensen
+
+ This file is part of u8c.
+
+ u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+ u8c is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ See the GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License along with u8c.
+
+ If not, see <https://www.gnu.org/licenses/>.
+*/
+# include <assert.h>
+# include <stddef.h>
+# include <stdint.h>
+# include <u8c/isalnum.h>
+# include <u8c/isalpha.h>
+# include <u8c/isdigit.h>
+uint_least8_t u8c_isalnum(uint_least8_t * const _res,uint_least32_t _chr) {
+ assert(_res != NULL);
+ uint_least8_t res = UINT8_C(0x0);
+ u8c_isalpha(&res,_chr);
+ if(res) {
+ *_res = res;
+ return UINT8_C(0x0);
+ }
+ u8c_isdigit(&res,_chr);
+ *_res = res;
+ return UINT8_C(0x0);
+}
diff --git a/src/u8c/isalpha.c b/src/u8c/isalpha.c
new file mode 100644
index 0000000..82a4115
--- /dev/null
+++ b/src/u8c/isalpha.c
@@ -0,0 +1,92 @@
+/*
+ Copyright 2021 Gabriel Jensen
+
+ This file is part of u8c.
+
+ u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+ u8c is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ See the GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License along with u8c.
+
+ If not, see <https://www.gnu.org/licenses/>.
+*/
+# include <assert.h>
+# include <stddef.h>
+# include <stdint.h>
+# include <u8c/isalpha.h>
+uint_least8_t u8c_isalpha(uint_least8_t * const _res,uint_least32_t _chr) {
+ assert(_res != NULL);
+ switch(_chr) {
+ default:
+ *_res = UINT8_C(0x0);
+ break;
+ case UINT32_C(0x61): /* LATIN SMALL LETTER A */
+ case UINT32_C(0x62): /* LATIN SMALL LETTER B */
+ case UINT32_C(0x63): /* LATIN SMALL LETTER C */
+ case UINT32_C(0x64): /* LATIN SMALL LETTER D */
+ case UINT32_C(0x65): /* LATIN SMALL LETTER E */
+ case UINT32_C(0x66): /* LATIN SMALL LETTER F */
+ case UINT32_C(0x67): /* LATIN SMALL LETTER G */
+ case UINT32_C(0x68): /* LATIN SMALL LETTER H */
+ case UINT32_C(0x69): /* LATIN SMALL LETTER I */
+ case UINT32_C(0x6A): /* LATIN SMALL LETTER J */
+ case UINT32_C(0x6B): /* LATIN SMALL LETTER K */
+ case UINT32_C(0x6C): /* LATIN SMALL LETTER L */
+ case UINT32_C(0x6D): /* LATIN SMALL LETTER M */
+ case UINT32_C(0x6E): /* LATIN SMALL LETTER N */
+ case UINT32_C(0x6F): /* LATIN SMALL LETTER O */
+ case UINT32_C(0x70): /* LATIN SMALL LETTER P */
+ case UINT32_C(0x71): /* LATIN SMALL LETTER Q */
+ case UINT32_C(0x72): /* LATIN SMALL LETTER R */
+ case UINT32_C(0x73): /* LATIN SMALL LETTER S */
+ case UINT32_C(0x74): /* LATIN SMALL LETTER T */
+ case UINT32_C(0x75): /* LATIN SMALL LETTER U */
+ case UINT32_C(0x76): /* LATIN SMALL LETTER V */
+ case UINT32_C(0x77): /* LATIN SMALL LETTER W */
+ case UINT32_C(0x78): /* LATIN SMALL LETTER X */
+ case UINT32_C(0x79): /* LATIN SMALL LETTER Y */
+ case UINT32_C(0x7A): /* LATIN SMALL LETTER Z */
+ case UINT32_C(0xDF): /* LATIN SMALL LETTER SHARP S */
+ case UINT32_C(0xE1): /* LATIN SMALL LETTER A WITH ACUTE */
+ case UINT32_C(0xE4): /* LATIN SMALL LETTER A WITH DIAERESIS */
+ case UINT32_C(0xE5): /* LATIN SMALL LETTER A WITH RING ABOVE */
+ case UINT32_C(0xE6): /* LATIN SMALL LETTER AE */
+ case UINT32_C(0xE9): /* LATIN SMALL LETTER E WITH ACUTE */
+ case UINT32_C(0xED): /* LATIN SMALL LETTER I WITH ACUTE */
+ case UINT32_C(0xF0): /* LATIN SMALL LETTER ETH */
+ case UINT32_C(0xF3): /* LATIN SMALL LETTER O WITH ACUTE */
+ case UINT32_C(0xF6): /* LATIN SMALL LETTER O WITH DIAERESIS */
+ case UINT32_C(0xF8): /* LATIN SMALL LETTER O WITH STROKE */
+ case UINT32_C(0xFA): /* LATIN SMALL LETTER U WITH ACUTE */
+ case UINT32_C(0xFC): /* U WITH TWO DOTS */
+ case UINT32_C(0xFD): /* LATIN SMALL LETTER Y WITH ACUTE */
+ case UINT32_C(0xFE): /* LATIN SMALL LETTER THORN */
+ case UINT32_C(0x131): /* LATIN SMALL LETTER DOTLESS I */
+ case UINT32_C(0x133): /* LATIN SMALL LIGATURE LJ */
+ case UINT32_C(0x138): /* LATIN SMALL LETTER KRA */
+ case UINT32_C(0x14B): /* LATIN SMALL LETTER ENG */
+ case UINT32_C(0x153): /* LATIN SMALL LIGATURE OE */
+ case UINT32_C(0x1BF): /* LATIN LETTER WYNN */
+ case UINT32_C(0x1DD): /* LATIN SMALL LETTER TURNED E */
+ case UINT32_C(0x21D): /* LATIN SMALL LETTER YOGH */
+ case UINT32_C(0x251): /* LATIN SMALL LETTER ALPHA */
+ case UINT32_C(0x254): /* LATIN SMALL LETTER OPEN O */
+ case UINT32_C(0x259): /* LATIN SMALL LETTER SCHWA */
+ case UINT32_C(0x25B): /* LATIN SMALL LETTER OPEN E */
+ case UINT32_C(0x263): /* LATIN SMALL LETTER GAMMA */
+ case UINT32_C(0x269): /* LATIN SMALL LETTER IOTA */
+ case UINT32_C(0x283): /* LATIN SMALL LETTER ESH */
+ case UINT32_C(0x28A): /* LATIN SMALL LETTER UPSILON */
+ case UINT32_C(0x28B): /* LATIN SMALL LETTER V WITH HOOK */
+ case UINT32_C(0x292): /* LATIN SMALL LETTER EZH */
+ case UINT32_C(0x294): /* LATIN SMALL LETTER GLOTTAL STOP */
+ case UINT32_C(0x1D79): /* LATIN SMALL LETTER INSULAR G */
+ case UINT32_C(0xA7B7): /* LATIN SMALL LETTER OMEGA */
+ *_res = UINT8_C(0x1);
+ break;
+ }
+ return UINT8_C(0x0);
+}
diff --git a/src/u8c/iscntrl.c b/src/u8c/iscntrl.c
new file mode 100644
index 0000000..dfd82ed
--- /dev/null
+++ b/src/u8c/iscntrl.c
@@ -0,0 +1,62 @@
+/*
+ Copyright 2021 Gabriel Jensen
+
+ This file is part of u8c.
+
+ u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+ u8c is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ See the GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License along with u8c.
+
+ If not, see <https://www.gnu.org/licenses/>.
+*/
+# include <assert.h>
+# include <stddef.h>
+# include <stdint.h>
+# include <u8c/iscntrl.h>
+uint_least8_t u8c_iscntrl(uint_least8_t * const _res,uint_least32_t _chr) {
+ assert(_res != NULL);
+ switch(_chr) {
+ default:
+ *_res = UINT8_C(0x0);
+ break;
+ case UINT32_C(0x0): /* NULL */
+ case UINT32_C(0x1): /* START OF HEADING */
+ case UINT32_C(0x2): /* START OF TEXT */
+ case UINT32_C(0x3): /* END OF TEXT */
+ case UINT32_C(0x4): /* END OF TRANSMISSION */
+ case UINT32_C(0x5): /* ENQUIRY */
+ case UINT32_C(0x6): /* ACKNOWLEDGE */
+ case UINT32_C(0x7): /* BELL */
+ case UINT32_C(0x8): /* BACKSPACE */
+ case UINT32_C(0x9): /* HORIZONTAL TABULATION */
+ case UINT32_C(0xA): /* NEW LINE */
+ case UINT32_C(0xB): /* VERTICAL TABULATION */
+ case UINT32_C(0xC): /* FORM FEED */
+ case UINT32_C(0xD): /* CARRIAGE RETURN */
+ case UINT32_C(0xE): /* SHIFT OUT */
+ case UINT32_C(0xF): /* SHIFT IN */
+ case UINT32_C(0x10): /* DATA LINK ESCAPE */
+ case UINT32_C(0x11): /* DEVICE CONTROL ONE */
+ case UINT32_C(0x12): /* DEVICE CONTROL TWO */
+ case UINT32_C(0x13): /* DEVICE CONTROL THREE */
+ case UINT32_C(0x14): /* DEVICE CONTROL FOUR */
+ case UINT32_C(0x15): /* NEGATIVE ACKNOWLEDGE */
+ case UINT32_C(0x16): /* SYNCHRONOUS IDLE */
+ case UINT32_C(0x17): /* END OF TRANSMISSION BLOCK */
+ case UINT32_C(0x18): /* CANCEL */
+ case UINT32_C(0x19): /* END OF MEDIUM */
+ case UINT32_C(0x1A): /* SUBSTITUTE */
+ case UINT32_C(0x1B): /* ESCAPE */
+ case UINT32_C(0x1C): /* FILE SEPERATOR */
+ case UINT32_C(0x1D): /* GROUP SEPERATOR */
+ case UINT32_C(0x1E): /* RECORD SEPERATOR */
+ case UINT32_C(0x1F): /* UNIT SEPERATOR */
+ *_res = UINT8_C(0x1);
+ break;
+ }
+ return UINT8_C(0x0);
+}
diff --git a/src/u8c/isdigit.c b/src/u8c/isdigit.c
new file mode 100644
index 0000000..1d5e35f
--- /dev/null
+++ b/src/u8c/isdigit.c
@@ -0,0 +1,42 @@
+/*
+ Copyright 2021 Gabriel Jensen
+
+ This file is part of u8c.
+
+ u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+ u8c is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ See the GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License along with u8c.
+
+ If not, see <https://www.gnu.org/licenses/>.
+*/
+# include <assert.h>
+# include <stddef.h>
+# include <stdint.h>
+# include <u8c/isdigit.h>
+uint_least8_t u8c_isdigit(uint_least8_t * const _res,uint_least32_t _chr) {
+ assert(_res != NULL);
+ switch(_chr) {
+ default:
+ *_res = UINT8_C(0x0);
+ break;
+ case UINT32_C(0x30): /* DIGIT ZERO */
+ case UINT32_C(0x31): /* DIGIT ONE */
+ case UINT32_C(0x32): /* DIGIT TWO */
+ case UINT32_C(0x33): /* DIGIT THREE */
+ case UINT32_C(0x34): /* DIGIT FOUR */
+ case UINT32_C(0x35): /* DIGIT FIVE */
+ case UINT32_C(0x36): /* DIGIT SIX */
+ case UINT32_C(0x37): /* DIGIT SEVEN */
+ case UINT32_C(0x38): /* DIGIT EIGHT */
+ case UINT32_C(0x39): /* DIGIT NINE */
+ case UINT32_C(0x218A): /* TURNED DIGIT TWO */
+ case UINT32_C(0x218B): /* TURNED DIGIT THREE */
+ *_res = UINT8_C(0x1);
+ break;
+ }
+ return UINT8_C(0x0);
+}
diff --git a/src/u8c/ispunct.c b/src/u8c/ispunct.c
new file mode 100644
index 0000000..11a155a
--- /dev/null
+++ b/src/u8c/ispunct.c
@@ -0,0 +1,111 @@
+/*
+ Copyright 2021 Gabriel Jensen
+
+ This file is part of u8c.
+
+ u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+ u8c is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ See the GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License along with u8c.
+
+ If not, see <https://www.gnu.org/licenses/>.
+*/
+# include <assert.h>
+# include <stddef.h>
+# include <stdint.h>
+# include <u8c/ispunct.h>
+uint_least8_t u8c_ispunct(uint_least8_t * const _res,uint_least32_t _chr) {
+ assert(_res != NULL);
+ switch(_chr) {
+ default:
+ *_res = UINT8_C(0x0);
+ break;
+ case UINT32_C(0x21): /* EXCLAMATION MARK */
+ case UINT32_C(0x22): /* QUOTATION MARK */
+ case UINT32_C(0x23): /* NUMBER SIGN */
+ case UINT32_C(0x24): /* DOLLAR SIGN */
+ case UINT32_C(0x25): /* PERCENT SIGN */
+ case UINT32_C(0x26): /* AMPERSAND */
+ case UINT32_C(0x27): /* APOSTROPHE */
+ case UINT32_C(0x28): /* LEFT PARANTHESIS */
+ case UINT32_C(0x29): /* RIGHT PARANTHESIS */
+ case UINT32_C(0x2A): /* ASTERISK */
+ case UINT32_C(0x2B): /* PLUS SIGN */
+ case UINT32_C(0x2C): /* COMMA */
+ case UINT32_C(0x2D): /* HYPHEN-MINUS */
+ case UINT32_C(0x2E): /* FULL STOP */
+ case UINT32_C(0x2F): /* SOLIDUS */
+ case UINT32_C(0x3A): /* COLON */
+ case UINT32_C(0x3B): /* SEMICOLON */
+ case UINT32_C(0x3C): /* LESS-THAN SIGN */
+ case UINT32_C(0x3D): /* EQUALS SIGN */
+ case UINT32_C(0x3E): /* GREATER-THAN SIGN */
+ case UINT32_C(0x3F): /* QUESTION MARK */
+ case UINT32_C(0x40): /* COMMERCIAL AT */
+ case UINT32_C(0x5B): /* LEFT SQUARE BRACKET */
+ case UINT32_C(0x5C): /* REVERSE SOLIDUS */
+ case UINT32_C(0x5D): /* RIGHT SQUARE BRACKET */
+ case UINT32_C(0x5E): /* CIRCUMFLEX ACCENT */
+ case UINT32_C(0x5F): /* LOW LINE */
+ case UINT32_C(0x60): /* GRAVE ACCENT */
+ case UINT32_C(0x7B): /* LEFT CURLY BRACKET */
+ case UINT32_C(0x7C): /* VERTICAL LINE */
+ case UINT32_C(0x7D): /* RIGHT CURLY BRACKET */
+ case UINT32_C(0x7E): /* TILDE */
+ case UINT32_C(0xA1): /* INVERT EXCLAMATION MARK */
+ case UINT32_C(0xA2): /* CENT SIGN */
+ case UINT32_C(0xA3): /* POUND SIGN */
+ case UINT32_C(0xA4): /* CURRENCY SIGN */
+ case UINT32_C(0xA5): /* YEN SIGN */
+ case UINT32_C(0xA7): /* SECTION SIGN */
+ case UINT32_C(0xA8): /* DIAERESIS */
+ case UINT32_C(0xA9): /* COPYRIGHT SIGN */
+ case UINT32_C(0xAB): /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
+ case UINT32_C(0xAE): /* REGISTERED SIGN */
+ case UINT32_C(0xB0): /* DEGREE SIGN */
+ case UINT32_C(0xB4): /* ACUTE ACCENT */
+ case UINT32_C(0xB6): /* PILCROW SIGN */
+ case UINT32_C(0xBB): /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
+ case UINT32_C(0xB1): /* PLUS MINUS SIGN */
+ case UINT32_C(0xBF): /* INVERT QUESTION MARK */
+ case UINT32_C(0xD7): /* MULTIPLICATION SIGN */
+ case UINT32_C(0xF7): /* DIVISION SIGN */
+ case UINT32_C(0x2010): /* HYPHEN */
+ case UINT32_C(0x2013): /* EN DASH */
+ case UINT32_C(0x2014): /* EM DASH */
+ case UINT32_C(0x2018): /* LEFT SINGLE QUOTATION MARK */
+ case UINT32_C(0x2019): /* RIGHT SINGLE QUOTATION MARK */
+ case UINT32_C(0x201C): /* LEFT DOUBLE QUOTATION MARK */
+ case UINT32_C(0x201D): /* RIGHT DOUBLE QUOTATION MARK */
+ case UINT32_C(0x2026): /* HORIZONTAL ELLIPSIS */
+ case UINT32_C(0x2030): /* PER MILLE SIGN */
+ case UINT32_C(0x20A3): /* FRENCH FRANC SIGN */
+ case UINT32_C(0x20A4): /* LIRA SIGN */
+ case UINT32_C(0x20A8): /* RUPEE SIGN */
+ case UINT32_C(0x20A9): /* WON SIGN */
+ case UINT32_C(0x20AC): /* EURO SIGN */
+ case UINT32_C(0x20B9): /* INDIAN RUPEE SIGN */
+ case UINT32_C(0x20BF): /* BITCOIN SIGN */
+ case UINT32_C(0x2205): /* EMPTY SET */
+ case UINT32_C(0x2212): /* MINUS SIGN */
+ case UINT32_C(0x221E): /* INFINITY */
+ case UINT32_C(0x2248): /* ALMOST EQUAL TO */
+ case UINT32_C(0x2260): /* NOT EQUAL TO */
+ case UINT32_C(0x2264): /* LESS-THAN OR EQUAL TO */
+ case UINT32_C(0x2265): /* GREATER-THAN OR EQUAL TO */
+ case UINT32_C(0xFDFC): /* RIAL SIGN */
+ case UINT32_C(0x1F10D): /* CIRCLED ZERO WITH SLASH */
+ case UINT32_C(0x1F10E): /* CIRCLED ANTICKLOCKWISE ARROW */
+ case UINT32_C(0x1F10F): /* CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH */
+ case UINT32_C(0x1F12F): /* COPYLEFT SYMBOL */
+ case UINT32_C(0x1F16D): /* CIRCLED CC */
+ case UINT32_C(0x1F16E): /* CIRCLED C WITH OVERLAID BACKSLASH */
+ case UINT32_C(0x1F16F): /* CIRCLED HUMAN FIGURE */
+ *_res = UINT8_C(0x1);
+ break;
+ }
+ return UINT8_C(0x0);
+}
diff --git a/src/u8c/isspace.c b/src/u8c/isspace.c
new file mode 100644
index 0000000..3bd8b96
--- /dev/null
+++ b/src/u8c/isspace.c
@@ -0,0 +1,36 @@
+/*
+ Copyright 2021 Gabriel Jensen
+
+ This file is part of u8c.
+
+ u8c is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+ u8c is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ See the GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License along with u8c.
+
+ If not, see <https://www.gnu.org/licenses/>.
+*/
+# include <assert.h>
+# include <stddef.h>
+# include <stdint.h>
+# include <u8c/isspace.h>
+uint_least8_t u8c_isspace(uint_least8_t * const _res,uint_least32_t _chr) {
+ assert(_res != NULL);
+ switch(_chr) {
+ default:
+ *_res = UINT8_C(0x0);
+ break;
+ case UINT32_C(0x9): /* HORIZONTAL TABULATION */
+ case UINT32_C(0xA): /* NEW LINE */
+ case UINT32_C(0xB): /* VERTICAL TABULATION */
+ case UINT32_C(0xC): /* FORM FEED */
+ case UINT32_C(0xD): /* CARRIAGE RETURN */
+ case UINT32_C(0x20): /* SPACE */
+ *_res = UINT8_C(0x1);
+ break;
+ }
+ return UINT8_C(0x0);
+}
diff --git a/src/u8c/u32cmp.c b/src/u8c/u32cmp.c
index 1c69d16..e8f5b9f 100644
--- a/src/u8c/u32cmp.c
+++ b/src/u8c/u32cmp.c
@@ -14,11 +14,15 @@
If not, see <https://www.gnu.org/licenses/>.
*/
# include "seterr.h"
+# include <assert.h>
# include <stddef.h>
# include <stdint.h>
# include <u8c/SIZE_C.h>
# include <u8c/u32cmp.h>
uint_least8_t u8c_u32cmp(uint_least8_t * const _res,uint_least32_t * const _lstr,uint_least32_t * const _rstr) {
+ assert(_res != NULL);
+ assert(_lstr != NULL);
+ assert(_rstr != NULL);
for(register size_t n = SIZE_C(0x0);n <= SIZE_MAX;n += SIZE_C(0x1)) {
register uint_least32_t const lchr = _lstr[n];
register uint_least32_t const rchr = _rstr[n];
@@ -35,6 +39,6 @@ uint_least8_t u8c_u32cmp(uint_least8_t * const _res,uint_least32_t * const _lstr
return UINT8_C(0x0);
}
}
- u8c_seterr((uint_least32_t[]){UINT32_C(0x75),UINT32_C(0x38),UINT32_C(0x63),UINT32_C(0x5F),UINT32_C(0x75),UINT32_C(0x33),UINT32_C(0x32),UINT32_C(0x63),UINT32_C(0x6D),UINT32_C(0x70),UINT32_C(0x3A),UINT32_C(0x20),UINT32_C(0x55),UINT32_C(0x6E),UINT32_C(0x74),UINT32_C(0x65),UINT32_C(0x72),UINT32_C(0x6D),UINT32_C(0x69),UINT32_C(0x6E),UINT32_C(0x61),UINT32_C(0x74),UINT32_C(0x65),UINT32_C(0x64),UINT32_C(0x20),UINT32_C(0x69),UINT32_C(0x6E),UINT32_C(0x70),UINT32_C(0x75),UINT32_C(0x74),UINT32_C(0x2E),UINT32_C(0x0),});
+ u8c_seterr((uint_least32_t[]){UINT32_C(0x75),UINT32_C(0x38),UINT32_C(0x63),UINT32_C(0x5F),UINT32_C(0x75),UINT32_C(0x33),UINT32_C(0x32),UINT32_C(0x63),UINT32_C(0x6D),UINT32_C(0x70),UINT32_C(0x3A),UINT32_C(0x20),UINT32_C(0x55),UINT32_C(0x6E),UINT32_C(0x74),UINT32_C(0x65),UINT32_C(0x72),UINT32_C(0x6D),UINT32_C(0x69),UINT32_C(0x6E),UINT32_C(0x61),UINT32_C(0x74),UINT32_C(0x65),UINT32_C(0x64),UINT32_C(0x20),UINT32_C(0x69),UINT32_C(0x6E),UINT32_C(0x70),UINT32_C(0x75),UINT32_C(0x74),UINT32_C(0x2E),UINT32_C(0x0),}); /* u8c_u32cmp: Unterminated input. */
return UINT8_C(0x1);
}