7d1227f435
add limits.h
2021-07-31 01:01:05 +02:00
026bfd0b39
string: add nstr2i and nstr2u
2021-07-31 00:59:20 +02:00
57b24014dc
string: add nstrtrim
2021-07-30 17:47:05 +02:00
9b191d9b9a
nstr: include nstrmul test
...
i am very smart
2021-07-30 15:53:39 +02:00
87d0a30dab
error: add errmsg_raw utility
2021-07-30 15:50:35 +02:00
e1e401798c
nstr: add nput convenience wrappers
2021-07-26 22:42:16 +02:00
abfccf6b5c
doc: refactor and normalize comments
2021-07-26 22:40:50 +02:00
c3776c0654
doc: add Doxygen support
2021-07-26 16:54:05 +02:00
f1add994c3
hashtab: add hashtable API
2021-07-23 00:56:18 +02:00
ac7172c841
nbuf: make clones zero-copy
2021-07-22 14:56:29 +02:00
cf4bd2ea5b
nstr: Make cloning zero-copy
2021-07-22 14:15:25 +02:00
d504786bc7
nstr: add alignment constraint
2021-07-22 13:46:49 +02:00
3040b09669
nstr: avoid double allocation
...
String contents are stored immediately after the
struct _neo_nstr in memory now.
2021-07-22 13:42:14 +02:00
c797540dbc
string: rename string type to nstr_t
...
This might annoy a bunch of people, but it kinda
follows the "traditional" C coding style and i
like it more. Also it reminds you that strings
are absolutely not a primitive data type.
2021-07-22 12:20:53 +02:00
cb09acbc7c
nbuf: add buffer type and utilities
2021-07-21 22:55:05 +02:00
5b1511ca57
toolchain: refactor __restrict c++ compat macro
2021-07-21 22:23:46 +02:00
f99ad6162a
nref: move main init work out of macro
2021-07-21 16:55:19 +02:00
f120bcc02a
types: use bool typedefs from stdbool.h
2021-07-21 16:46:17 +02:00
528be61971
error: remove unused _flags member
2021-07-19 22:36:05 +02:00
e982ceb517
list: fix remaining macro errors and add tests
2021-07-19 15:19:19 +02:00
cd797b107c
toolchain: don't flag init calls static
...
This will omit them from the final build, obviously
2021-07-19 14:08:23 +02:00
080c5e6195
types: make nlen field volatile
...
Compilers might try to be smart and optimize
additional reads from a const field away,
even if the non-const union member was modified.
I do not actually know whether this is the case,
but it won't hurt to declare it volatile anyway.
2021-07-19 13:09:27 +02:00
d033a5df9d
list: fix stupid syntax errors and size bugs
2021-07-19 13:07:34 +02:00
6b8e8a4762
list: add "simple" linked list
2021-07-18 21:10:43 +02:00
b6659a321d
string: add static NSTR_DEFINE initializer macro
2021-07-18 21:00:07 +02:00
30954cd078
string: add tests
2021-07-16 21:47:18 +02:00
a1ac5d8c41
nref: clear pointer if refcount reached 0
2021-07-16 14:12:18 +02:00
7169a434bf
utf: add utf8_ncheck
2021-07-16 13:59:11 +02:00
6ab34d0893
string: rename _capacity field to _size
2021-07-16 13:35:32 +02:00
7d0dd2d705
utf: fix documentation error
2021-07-16 00:30:40 +02:00
460ff1a37b
remove extern "C" wrappers in internal headers
...
Internal headers, i.e. those prefixed with an
underscore, aren't supposed to be included in
external projects anyways and libneo itself is
obviously C only.
2021-07-15 23:54:39 +02:00
900bce9b8e
string: add nnstr string constructor
2021-07-15 22:58:15 +02:00
2698409e4c
stddef: define nil to nullptr for C++
2021-07-15 22:51:24 +02:00
49b44ad4bc
string: fix nstreq brainfart
2021-07-15 22:50:53 +02:00
5b46a05ce7
"comply" with ISO C11
...
Except for the bunch of macros prefixed with
double underscores, but let's take care of
that some time later (read: never).
2021-07-15 20:59:31 +02:00
5aed426864
string: add more utility functions
2021-07-15 01:47:04 +02:00
b010638dd1
string: add creationg and char access functions
2021-07-14 22:24:07 +02:00
b8471c6d76
set up Catch2 for testing
...
Looks like there isn't really a way around C++ smh
2021-07-14 21:30:10 +02:00
befc18f8ff
add C++ support
...
This is so not a good idea but i'll need it for Catch2
2021-07-14 20:45:22 +02:00
f5bb5edcd3
get rid of obsolete syscall header
...
neo is built on top of libc now
2021-07-14 16:43:09 +02:00
30a29150c3
implement UTF-8 conversion
...
i have no idea whether this works, the only thing i have is PTSD
2021-07-14 16:30:19 +02:00
bd9297febe
nref: smol refactor and add documentation
2021-07-14 14:56:32 +02:00
ec5ed1e352
error: refactor the whole thing
...
a.k.a. make it more complicated.
2021-07-12 03:06:51 +02:00
1d7d2a7b55
nref: fix nref_init macro bug
...
it was pretty late when i wrote that okay
2021-07-12 02:54:42 +02:00
7df80d8cd1
add malloc wrapper
2021-07-11 15:06:42 +02:00
4dbc77845a
add error handling system
2021-07-11 02:11:58 +02:00
957f5e2a35
add refcounts
2021-07-11 01:44:59 +02:00
a73ea804b5
implement generic syscalls
2021-07-09 16:56:23 +02:00
673ed9bfb8
initial commit uwu
2021-07-09 00:04:44 +02:00