summaryrefslogtreecommitdiff
path: root/src/u8c
diff options
context:
space:
mode:
Diffstat (limited to 'src/u8c')
-rw-r--r--src/u8c/err.h.d/geterr.c (renamed from src/u8c/geterr.c)4
-rw-r--r--src/u8c/err.h.d/regerrhandl.c (renamed from src/u8c/regerrhandl.c)2
-rw-r--r--src/u8c/err.h.d/seterr.c (renamed from src/u8c/seterr.c)2
-rw-r--r--src/u8c/fmt.h.d/fmt.c (renamed from src/u8c/fmt.c)0
-rw-r--r--src/u8c/fmt.h.d/print.c (renamed from src/u8c/print.c)0
-rw-r--r--src/u8c/fmt.h.d/println.c (renamed from src/u8c/println.c)0
-rw-r--r--src/u8c/fmt.h.d/setfmt.c (renamed from src/u8c/setfmt.c)2
-rw-r--r--src/u8c/fmt.h.d/vfmt.c (renamed from src/u8c/vfmt.c)2
-rw-r--r--src/u8c/fmt.h.d/vprint.c (renamed from src/u8c/vprint.c)2
-rw-r--r--src/u8c/intern.h48
-rw-r--r--src/u8c/intern.h.d/dat.c (renamed from src/u8c/dat.c)2
-rw-r--r--src/u8c/is.h.d/isalnum.c (renamed from src/u8c/isalnum.c)0
-rw-r--r--src/u8c/is.h.d/isalpha.c (renamed from src/u8c/isalpha.c)0
-rw-r--r--src/u8c/is.h.d/iscntrl.c (renamed from src/u8c/iscntrl.c)0
-rw-r--r--src/u8c/is.h.d/isdigit.c (renamed from src/u8c/isdigit.c)0
-rw-r--r--src/u8c/is.h.d/ispunct.c (renamed from src/u8c/ispunct.c)0
-rw-r--r--src/u8c/is.h.d/isspace.c (renamed from src/u8c/isspace.c)0
-rw-r--r--src/u8c/is.h.d/isxdigit.c (renamed from src/u8c/isxdigit.c)0
-rw-r--r--src/u8c/main.h.d/abrtfn.c (renamed from src/u8c/abrt.c)6
-rw-r--r--src/u8c/main.h.d/debug.c (renamed from src/u8c/debug.c)0
-rw-r--r--src/u8c/main.h.d/end.c (renamed from src/u8c/end.c)2
-rw-r--r--src/u8c/main.h.d/init.c (renamed from src/u8c/init.c)3
-rw-r--r--src/u8c/main.h.d/thrdsafe.c (renamed from src/u8c/thrdsafe.c)0
-rw-r--r--src/u8c/u16.h.d/u16alloc.c (renamed from src/u8c/u16alloc.c)1
-rw-r--r--src/u8c/u16.h.d/u16free.c (renamed from src/u8c/u16free.c)0
-rw-r--r--src/u8c/u32.h.d/u32alloc.c (renamed from src/u8c/u32alloc.c)1
-rw-r--r--src/u8c/u32.h.d/u32cat.c (renamed from src/u8c/u32cat.c)0
-rw-r--r--src/u8c/u32.h.d/u32cmp.c (renamed from src/u8c/u32cmp.c)0
-rw-r--r--src/u8c/u32.h.d/u32cp.c (renamed from src/u8c/u32cp.c)0
-rw-r--r--src/u8c/u32.h.d/u32fndchr.c (renamed from src/u8c/u32fndchr.c)0
-rw-r--r--src/u8c/u32.h.d/u32fndpat.c (renamed from src/u8c/u32fndpat.c)0
-rw-r--r--src/u8c/u32.h.d/u32free.c (renamed from src/u8c/u32free.c)0
-rw-r--r--src/u8c/u32.h.d/u32ins.c (renamed from src/u8c/u32ins.c)0
-rw-r--r--src/u8c/u32.h.d/u32substr.c (renamed from src/u8c/u32substr.c)0
-rw-r--r--src/u8c/u32.h.d/u32sz.c (renamed from src/u8c/u32sz.c)0
-rw-r--r--src/u8c/u8.h.d/u8alloc.c (renamed from src/u8c/u8alloc.c)1
-rw-r--r--src/u8c/u8.h.d/u8dec.c (renamed from src/u8c/u8dec.c)34
-rw-r--r--src/u8c/u8.h.d/u8enc.c (renamed from src/u8c/u8enc.c)18
-rw-r--r--src/u8c/u8.h.d/u8free.c (renamed from src/u8c/u8free.c)0
39 files changed, 38 insertions, 92 deletions
diff --git a/src/u8c/geterr.c b/src/u8c/err.h.d/geterr.c
index 3d8c220..58f3612 100644
--- a/src/u8c/geterr.c
+++ b/src/u8c/err.h.d/geterr.c
@@ -13,19 +13,17 @@
If not, see <https://www.gnu.org/licenses/>.
*/
-# include "intern.h"
# include <stdbool.h>
# include <stddef.h>
# include <stdint.h>
# include <u8c/err.h>
+# include <u8c/intern.h>
# include <u8c/u32.h>
bool u8c_geterr(size_t * const _sz,char32_t const * * const _out) {
# if defined(u8c_bethrdsafe)
mtx_lock(&u8c_dat.errlock);
# endif
u8c_u32cp(_sz,_out,u8c_dat.err);
- u8c_u32free(&u8c_dat.err);
- u8c_u32cp(_sz,&u8c_dat.err,U"");
# if defined(u8c_bethrdsafe)
mtx_unlock(&u8c_dat.errlock);
# endif
diff --git a/src/u8c/regerrhandl.c b/src/u8c/err.h.d/regerrhandl.c
index ef41e31..5e97177 100644
--- a/src/u8c/regerrhandl.c
+++ b/src/u8c/err.h.d/regerrhandl.c
@@ -13,10 +13,10 @@
If not, see <https://www.gnu.org/licenses/>.
*/
-# include "intern.h"
# include <stdbool.h>
# include <stddef.h>
# include <u8c/err.h>
+# include <u8c/intern.h>
static void u8c_regerrhandl_seterrhandl(enum u8c_errtyp _typ,u8c_errhandltyp _errhandl) {
u8c_dat.errhandls[(size_t)_typ] = _errhandl;
}
diff --git a/src/u8c/seterr.c b/src/u8c/err.h.d/seterr.c
index f356e5f..017e45e 100644
--- a/src/u8c/seterr.c
+++ b/src/u8c/err.h.d/seterr.c
@@ -13,13 +13,13 @@
If not, see <https://www.gnu.org/licenses/>.
*/
-# include "intern.h"
# include <assert.h>
# include <stdbool.h>
# include <stddef.h>
# include <stdint.h>
# include <u8c/err.h>
# include <u8c/fmt.h>
+# include <u8c/intern.h>
# include <u8c/u32.h>
# if defined(u8c_bethrdsafe)
# include <threads.h>
diff --git a/src/u8c/fmt.c b/src/u8c/fmt.h.d/fmt.c
index 43f1ea4..43f1ea4 100644
--- a/src/u8c/fmt.c
+++ b/src/u8c/fmt.h.d/fmt.c
diff --git a/src/u8c/print.c b/src/u8c/fmt.h.d/print.c
index 8785ad8..8785ad8 100644
--- a/src/u8c/print.c
+++ b/src/u8c/fmt.h.d/print.c
diff --git a/src/u8c/println.c b/src/u8c/fmt.h.d/println.c
index 1a924ad..1a924ad 100644
--- a/src/u8c/println.c
+++ b/src/u8c/fmt.h.d/println.c
diff --git a/src/u8c/setfmt.c b/src/u8c/fmt.h.d/setfmt.c
index 05fa9c1..7956ea3 100644
--- a/src/u8c/setfmt.c
+++ b/src/u8c/fmt.h.d/setfmt.c
@@ -13,10 +13,10 @@
If not, see <https://www.gnu.org/licenses/>.
*/
-# include "intern.h"
# include <stdbool.h>
# include <stdint.h>
# include <u8c/fmt.h>
+# include <u8c/intern.h>
# if defined(u8c_bethrdsafe)
# include <threads.h>
# endif
diff --git a/src/u8c/vfmt.c b/src/u8c/fmt.h.d/vfmt.c
index ed7e13f..5b0c1e1 100644
--- a/src/u8c/vfmt.c
+++ b/src/u8c/fmt.h.d/vfmt.c
@@ -21,6 +21,6 @@
# if defined(u8c_bethrdsafe)
# include <threads.h>
# endif
-bool u8c_vfmt(size_t * const _sz,char32_t const * * const _out,char32_t const * const _in,va_list _args) {
+bool u8c_vfmt(size_t * const _sz,char32_t const * * const _out,char32_t const * const _in,[[maybe_unused]] va_list _args) {
return u8c_u32cp(_sz,_out,_in);
}
diff --git a/src/u8c/vprint.c b/src/u8c/fmt.h.d/vprint.c
index 7555ce1..8d824a8 100644
--- a/src/u8c/vprint.c
+++ b/src/u8c/fmt.h.d/vprint.c
@@ -13,7 +13,6 @@
If not, see <https://www.gnu.org/licenses/>.
*/
-# include "intern.h"
# include <assert.h>
# include <stdarg.h>
# include <stdbool.h>
@@ -23,6 +22,7 @@
# include <u8c/SIZE_C.h>
# include <u8c/err.h>
# include <u8c/fmt.h>
+# include <u8c/intern.h>
# include <u8c/u32.h>
# include <u8c/u8.h>
# include <uchar.h>
diff --git a/src/u8c/intern.h b/src/u8c/intern.h
deleted file mode 100644
index ab7644c..0000000
--- a/src/u8c/intern.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- 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/>.
-*/
-# if !defined(u8c_sym_dattyp)
-# define u8c_sym_dattyp
-# include <stdalign.h>
-# include <stdbool.h>
-# include <stddef.h>
-# include <stdint.h>
-# include <u8c/SIZE_C.h>
-# include <u8c/err.h>
-# include <uchar.h>
-# if defined(u8c_bethrdsafe)
-# include <threads.h>
-# endif
-/* Enumerations: */
-/* Type definitions: */
-/* Structures: */
-struct u8c_dattyp {
- char32_t const * err;
- u8c_errhandltyp errhandls[(size_t)u8c_errtyp_maxerrtyp];
- uint_least8_t fmtbase;
- bool fmtendian;
- uint_least8_t stat;
-# if defined(u8c_bethrdsafe)
- mtx_t errlock;
- mtx_t errhandlslock;
- mtx_t fmtlock;
- mtx_t outlock;
-# endif
-};
-/* Functions */
-/* Constants & Variables: */
-extern struct u8c_dattyp u8c_dat;
-/* Macros: */
-# endif
diff --git a/src/u8c/dat.c b/src/u8c/intern.h.d/dat.c
index 55203c6..77d4962 100644
--- a/src/u8c/dat.c
+++ b/src/u8c/intern.h.d/dat.c
@@ -13,11 +13,11 @@
If not, see <https://www.gnu.org/licenses/>.
*/
-# include "intern.h"
# include <stdbool.h>
# include <stddef.h>
# include <stdint.h>
# include <u8c/SIZE_C.h>
+# include <u8c/intern.h>
struct u8c_dattyp u8c_dat = {
.err = NULL,
.fmtendian = false,
diff --git a/src/u8c/isalnum.c b/src/u8c/is.h.d/isalnum.c
index 13834c3..13834c3 100644
--- a/src/u8c/isalnum.c
+++ b/src/u8c/is.h.d/isalnum.c
diff --git a/src/u8c/isalpha.c b/src/u8c/is.h.d/isalpha.c
index d5952dc..d5952dc 100644
--- a/src/u8c/isalpha.c
+++ b/src/u8c/is.h.d/isalpha.c
diff --git a/src/u8c/iscntrl.c b/src/u8c/is.h.d/iscntrl.c
index 4dcf543..4dcf543 100644
--- a/src/u8c/iscntrl.c
+++ b/src/u8c/is.h.d/iscntrl.c
diff --git a/src/u8c/isdigit.c b/src/u8c/is.h.d/isdigit.c
index 8b799d9..8b799d9 100644
--- a/src/u8c/isdigit.c
+++ b/src/u8c/is.h.d/isdigit.c
diff --git a/src/u8c/ispunct.c b/src/u8c/is.h.d/ispunct.c
index f6b041f..f6b041f 100644
--- a/src/u8c/ispunct.c
+++ b/src/u8c/is.h.d/ispunct.c
diff --git a/src/u8c/isspace.c b/src/u8c/is.h.d/isspace.c
index 9473476..9473476 100644
--- a/src/u8c/isspace.c
+++ b/src/u8c/is.h.d/isspace.c
diff --git a/src/u8c/isxdigit.c b/src/u8c/is.h.d/isxdigit.c
index 4a59b0d..4a59b0d 100644
--- a/src/u8c/isxdigit.c
+++ b/src/u8c/is.h.d/isxdigit.c
diff --git a/src/u8c/abrt.c b/src/u8c/main.h.d/abrtfn.c
index 6773827..80a03e3 100644
--- a/src/u8c/abrt.c
+++ b/src/u8c/main.h.d/abrtfn.c
@@ -13,7 +13,6 @@
If not, see <https://www.gnu.org/licenses/>.
*/
-# include "intern.h"
# include <inttypes.h>
# include <stdbool.h>
# include <stdint.h>
@@ -21,9 +20,10 @@
# include <stdlib.h>
# include <stdnoreturn.h>
# include <time.h>
+# include <u8c/intern.h>
# include <u8c/main.h>
-noreturn bool u8c_abrt(char const * const _fl,long long const _ln,char const * const _fn,char const * const _why) {
- fprintf(stderr,"u8c: *** Aborted (\"%s\":%lld in function \"%s\": \"%s\" @ %" PRIuMAX ") ***\nLibrary diagnostics:\n debug:%s\n status:%" PRIuLEAST8 "\n thread-safe:%s\n version:%" PRIuLEAST64 "\n",_fl,_ln,_fn,_why,(intmax_t)time(NULL),u8c_dbg ? "true" : "false",u8c_dat.stat,u8c_thrdsafe ? "true" : "false",u8c_ver);
+noreturn bool u8c_abrtfn(char const * const _fl,long const _ln,char const * const _fn,char const * const _why) {
+ fprintf(stderr,"u8c: *** Aborted (\"%s\":%li in function \"%s\": \"%s\" @ %" PRIuMAX ") ***\nLibrary diagnostics:\n debug:%s\n status:%" PRIuLEAST8 "\n thread-safe:%s\n version:%" PRIuLEAST64 "\n",_fl,_ln,_fn,_why,(intmax_t)time(NULL),u8c_dbg ? "true" : "false",u8c_dat.stat,u8c_thrdsafe ? "true" : "false",u8c_ver);
fprintf(stderr,"Trying to clean up...\n");
u8c_end();
fprintf(stderr,"Aborting...\n");
diff --git a/src/u8c/debug.c b/src/u8c/main.h.d/debug.c
index e42275c..e42275c 100644
--- a/src/u8c/debug.c
+++ b/src/u8c/main.h.d/debug.c
diff --git a/src/u8c/end.c b/src/u8c/main.h.d/end.c
index f0e82e3..ef8114c 100644
--- a/src/u8c/end.c
+++ b/src/u8c/main.h.d/end.c
@@ -13,11 +13,11 @@
If not, see <https://www.gnu.org/licenses/>.
*/
-# include "intern.h"
# include <stdbool.h>
# include <stdint.h>
# include <stdlib.h>
# include <u8c/SIZE_C.h>
+# include <u8c/intern.h>
# include <u8c/main.h>
# include <u8c/u32.h>
# if defined(u8c_bethrdsafe)
diff --git a/src/u8c/init.c b/src/u8c/main.h.d/init.c
index 3769109..0b34577 100644
--- a/src/u8c/init.c
+++ b/src/u8c/main.h.d/init.c
@@ -16,12 +16,11 @@
# if !defined(__STDC_UTF_32__)
# error UTF-32 is required.
# endif
-# include "intern.h"
-# include <setjmp.h>
# include <stdbool.h>
# include <stddef.h>
# include <stdint.h>
# include <u8c/err.h>
+# include <u8c/intern.h>
# include <u8c/main.h>
# include <u8c/u32.h>
# if defined(u8c_bethrdsafe)
diff --git a/src/u8c/thrdsafe.c b/src/u8c/main.h.d/thrdsafe.c
index 9d8e41a..9d8e41a 100644
--- a/src/u8c/thrdsafe.c
+++ b/src/u8c/main.h.d/thrdsafe.c
diff --git a/src/u8c/u16alloc.c b/src/u8c/u16.h.d/u16alloc.c
index 2945e79..3906017 100644
--- a/src/u8c/u16alloc.c
+++ b/src/u8c/u16.h.d/u16alloc.c
@@ -13,7 +13,6 @@
If not, see <https://www.gnu.org/licenses/>.
*/
-# include "intern.h"
# include <stdbool.h>
# include <stdlib.h>
# include <u8c/err.h>
diff --git a/src/u8c/u16free.c b/src/u8c/u16.h.d/u16free.c
index d447562..d447562 100644
--- a/src/u8c/u16free.c
+++ b/src/u8c/u16.h.d/u16free.c
diff --git a/src/u8c/u32alloc.c b/src/u8c/u32.h.d/u32alloc.c
index 341fa03..b64a1ee 100644
--- a/src/u8c/u32alloc.c
+++ b/src/u8c/u32.h.d/u32alloc.c
@@ -13,7 +13,6 @@
If not, see <https://www.gnu.org/licenses/>.
*/
-# include "intern.h"
# include <stdbool.h>
# include <stdlib.h>
# include <u8c/err.h>
diff --git a/src/u8c/u32cat.c b/src/u8c/u32.h.d/u32cat.c
index 600e0dc..600e0dc 100644
--- a/src/u8c/u32cat.c
+++ b/src/u8c/u32.h.d/u32cat.c
diff --git a/src/u8c/u32cmp.c b/src/u8c/u32.h.d/u32cmp.c
index 8a6617d..8a6617d 100644
--- a/src/u8c/u32cmp.c
+++ b/src/u8c/u32.h.d/u32cmp.c
diff --git a/src/u8c/u32cp.c b/src/u8c/u32.h.d/u32cp.c
index 95a9b35..95a9b35 100644
--- a/src/u8c/u32cp.c
+++ b/src/u8c/u32.h.d/u32cp.c
diff --git a/src/u8c/u32fndchr.c b/src/u8c/u32.h.d/u32fndchr.c
index 228c553..228c553 100644
--- a/src/u8c/u32fndchr.c
+++ b/src/u8c/u32.h.d/u32fndchr.c
diff --git a/src/u8c/u32fndpat.c b/src/u8c/u32.h.d/u32fndpat.c
index 5a1b5d2..5a1b5d2 100644
--- a/src/u8c/u32fndpat.c
+++ b/src/u8c/u32.h.d/u32fndpat.c
diff --git a/src/u8c/u32free.c b/src/u8c/u32.h.d/u32free.c
index a0b120b..a0b120b 100644
--- a/src/u8c/u32free.c
+++ b/src/u8c/u32.h.d/u32free.c
diff --git a/src/u8c/u32ins.c b/src/u8c/u32.h.d/u32ins.c
index 7fccb7c..7fccb7c 100644
--- a/src/u8c/u32ins.c
+++ b/src/u8c/u32.h.d/u32ins.c
diff --git a/src/u8c/u32substr.c b/src/u8c/u32.h.d/u32substr.c
index 855d062..855d062 100644
--- a/src/u8c/u32substr.c
+++ b/src/u8c/u32.h.d/u32substr.c
diff --git a/src/u8c/u32sz.c b/src/u8c/u32.h.d/u32sz.c
index deb1ecd..deb1ecd 100644
--- a/src/u8c/u32sz.c
+++ b/src/u8c/u32.h.d/u32sz.c
diff --git a/src/u8c/u8alloc.c b/src/u8c/u8.h.d/u8alloc.c
index a046a28..ba02bc8 100644
--- a/src/u8c/u8alloc.c
+++ b/src/u8c/u8.h.d/u8alloc.c
@@ -13,7 +13,6 @@
If not, see <https://www.gnu.org/licenses/>.
*/
-# include "intern.h"
# include <stdbool.h>
# include <stdlib.h>
# include <u8c/err.h>
diff --git a/src/u8c/u8dec.c b/src/u8c/u8.h.d/u8dec.c
index a484601..365c81a 100644
--- a/src/u8c/u8dec.c
+++ b/src/u8c/u8.h.d/u8dec.c
@@ -33,19 +33,19 @@ bool u8c_u8dec(size_t * const _sz,char32_t const * * const _out,unsigned char co
insz = n;
goto nottoobig;
}
- if(tmp >= UINT8_C(0xF8)) { /* Too big. */
+ if(tmp >= UINT8_C(0b11111000)) { /* Too big. */
u8c_seterr(U"u8c_u8dec: Character out of range (too big).",u8c_errtyp_u8oor);
return true;
}
- if(tmp >= UINT8_C(0xF0)) { /* Four byte. */
+ if(tmp >= UINT8_C(0b11110000)) { /* Four byte. */
n += SIZE_C(0x4);
continue;
}
- if(tmp >= UINT8_C(0xE0)) { /* Three bytes. */
+ if(tmp >= UINT8_C(0b11100000)) { /* Three bytes. */
n += SIZE_C(0x3);
continue;
}
- if(tmp >= UINT8_C(0xC0)) { /* Two bytes. */
+ if(tmp >= UINT8_C(0b11000000)) { /* Two bytes. */
n += SIZE_C(0x2);
continue;
}
@@ -64,39 +64,39 @@ nottoobig:;
return false;
}
for(register size_t n = SIZE_C(0x0),outn = SIZE_C(0x0);n < insz;outn += SIZE_C(0x1)) { /* Second pass: decode UTF-8. */
- if(_in[n] >= UINT8_C(0xF0)) { /* Four byte. */
- uint_least32_t codep = (_in[n] ^ UINT32_C(0xF0)) << UINT32_C(0x12);
+ if(_in[n] >= UINT8_C(0b11110000)) { /* Four bytes. */
+ uint_least32_t codep = (_in[n] ^ UINT32_C(0b11110000)) << UINT32_C(0x12);
n += SIZE_C(0x1);
- codep += (_in[n] ^ UINT32_C(0x80)) << UINT32_C(0xC);
+ codep += (_in[n] ^ UINT32_C(0b10000000)) << UINT32_C(0xC);
n += SIZE_C(0x1);
- codep += (_in[n] ^ UINT32_C(0x80)) << UINT32_C(0x6);
+ codep += (_in[n] ^ UINT32_C(0b10000000)) << UINT32_C(0x6);
n += SIZE_C(0x1);
- codep += (uint_least32_t)(_in[n]) ^ SIZE_C(0x80);
+ codep += (uint_least32_t)(_in[n]) ^ SIZE_C(0b10000000);
n += SIZE_C(0x1);
out[outn] = codep;
continue;
}
- if(_in[n] >= UINT8_C(0xE0)) { /* Three bytes. */
- uint_least32_t codep = (_in[n] ^ UINT32_C(0xE0)) << UINT32_C(0xC);
+ if(_in[n] >= UINT8_C(0b11100000)) { /* Three bytes. */
+ uint_least32_t codep = (_in[n] ^ UINT32_C(0b11100000)) << UINT32_C(0xC);
n += SIZE_C(0x1);
- codep += (_in[n] ^ UINT32_C(0x80)) << UINT32_C(0x6);
+ codep += (_in[n] ^ UINT32_C(0b10000000)) << UINT32_C(0x6);
n += SIZE_C(0x1);
- codep += _in[n] ^ UINT32_C(0x80);
+ codep += _in[n] ^ UINT32_C(0b10000000);
n += SIZE_C(0x1);
out[outn] = codep;
continue;
}
- if(_in[n] >= UINT8_C(0xC0)) { /* Two bytes. */
- uint_least32_t codep = (_in[n] ^ UINT32_C(0xC0)) << UINT32_C(0x6);
+ if(_in[n] >= UINT8_C(0b11000000)) { /* Two bytes. */
+ uint_least32_t codep = (_in[n] ^ UINT32_C(0b11000000)) << UINT32_C(0x6);
n += SIZE_C(0x1);
- codep += _in[n] ^ UINT32_C(0x80);
+ codep += _in[n] ^ UINT32_C(0b10000000);
n += SIZE_C(0x1);
out[outn] = codep;
continue;
}
/* One byte. */
out[outn] = (uint_least32_t)(_in[n]);
- n += SIZE_C(0x1);
+ n += SIZE_C(0x1);
continue;
}
u8c_u32free(_out);
diff --git a/src/u8c/u8enc.c b/src/u8c/u8.h.d/u8enc.c
index 61ccb2a..f3f3570 100644
--- a/src/u8c/u8enc.c
+++ b/src/u8c/u8.h.d/u8enc.c
@@ -19,7 +19,7 @@
# include <stdint.h>
# include <u8c/SIZE_C.h>
# include <u8c/err.h>
-# include <u8c/main.h>
+# include <u8c/u32.h>
# include <u8c/u8.h>
# include <uchar.h>
bool u8c_u8enc(size_t * const _sz,unsigned char const * * const _out,char32_t const * const _in) {
@@ -29,7 +29,7 @@ bool u8c_u8enc(size_t * const _sz,unsigned char const * * const _out,char32_t co
size_t outsz = SIZE_C(0x0); /* Size of output array /bytes). */
for(register size_t n = SIZE_C(0x0);n <= SIZE_MAX;n += SIZE_C(0x1)) { /* First pass: get size of input array, and determine size of output array. */
register char32_t const tmp = _in[n];
- if(tmp > u8c_unimax) { /* Codepoint out of range. */
+ if(tmp > u8c_u32max) { /* Codepoint out of range. */
u8c_seterr(U"u8c_u8enc: Codepoint out of range (too big).",u8c_errtyp_u32oor);
return true;
}
@@ -65,27 +65,27 @@ nottoobig:;
for(register size_t n = SIZE_C(0x0), outn = SIZE_C(0x0);n < insz;n += SIZE_C(0x1),outn += SIZE_C(0x1)) { /* Second pass: encode each codepoint into UTF-8. */
register char32_t const tmp = _in[n];
if(tmp >= UINT32_C(0x10000)) { // Four bytes.
- out[outn] = UINT8_C(0xF0) + (uint_least8_t)(tmp >> UINT32_C(0x12));
+ out[outn] = UINT8_C(0b11110000) + (uint_least8_t)(tmp >> UINT32_C(0x12));
outn += SIZE_C(0x1);
- out[outn] = UINT8_C(0x80) + (uint_least8_t)(tmp >> UINT32_C(0xC) & UINT8_C(0x3F));
+ out[outn] = UINT8_C(0b10000000) + (uint_least8_t)(tmp >> UINT32_C(0xC) & UINT8_C(0b00111111));
outn += SIZE_C(0x1);
- out[outn] = UINT8_C(0x80) + (uint_least8_t)(tmp >> UINT32_C(0x6) & UINT8_C(0x3F));
+ out[outn] = UINT8_C(0b10000000) + (uint_least8_t)(tmp >> UINT32_C(0x6) & UINT8_C(0b00111111));
outn += SIZE_C(0x1);
- out[outn] = UINT8_C(0x80) + (uint_least8_t)(tmp & UINT32_C(0x3F));
+ out[outn] = UINT8_C(0b10000000) + (uint_least8_t)(tmp & UINT32_C(0b00111111));
continue;
}
if(tmp >= UINT32_C(0x800)) { /* Three bytes. */
out[outn] = UINT8_C(0xE0) + (uint_least8_t)(tmp >> UINT32_C(0xC));
outn += SIZE_C(0x1);
- out[outn] = UINT8_C(0x80) + (uint_least8_t)(tmp >> UINT32_C(0x6) & UINT8_C(0x3F));
+ out[outn] = UINT8_C(0x80) + (uint_least8_t)(tmp >> UINT32_C(0x6) & UINT8_C(0b00111111));
outn += SIZE_C(0x1);
- out[outn] = UINT8_C(0x80) + (uint_least8_t)(tmp & UINT32_C(0x3F));
+ out[outn] = UINT8_C(0x80) + (uint_least8_t)(tmp & UINT32_C(0b00111111));
continue;
}
if(tmp >= UINT32_C(0x80)) { /* Two bytes. */
out[outn] = UINT8_C(0xC0) + (uint_least8_t)(tmp >> UINT8_C(0x6));
outn += SIZE_C(0x1);
- out[outn] = UINT8_C(0x80) + (uint_least8_t)(tmp & UINT8_C(0x3F));
+ out[outn] = UINT8_C(0x80) + (uint_least8_t)(tmp & UINT8_C(0b00111111));
continue;
}
/* One byte. */
diff --git a/src/u8c/u8free.c b/src/u8c/u8.h.d/u8free.c
index af5a6bd..af5a6bd 100644
--- a/src/u8c/u8free.c
+++ b/src/u8c/u8.h.d/u8free.c