8c591796fb
string: always call strcmp() in nstrcmp()
...
Some people seem to depend on the unstandardized
behavior of some (notably glibc) implementations
of strcmp() where the arithemtic difference
between s1 and s2 is returned, not just any
positive or negative number. This is explicitly
undocumented in libneo as well, but still doing
it won't hurt either.
2021-07-15 23:07:00 +02:00
7d64438f70
string: fix off-by-one error in leftpad
2021-07-15 23:00:17 +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
c71e36e7c8
error: fix memory leaks and other bugs
...
It was really late when i wrote this okay
2021-07-15 22:50:33 +02:00
630530109b
test: add test cases for utf8_to_nchr
2021-07-15 22:49:49 +02:00
aae3b85ce7
test: improve cmake integration
2021-07-15 22:46:26 +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
b011d5feb5
string: remove unnecessary refcount update
...
Passing the argument to a pure function is
essentially a "borrow", and the caller has had to
make sure the refcount doesn't drop to zero anyway
2021-07-15 14:16:06 +02:00
5aed426864
string: add more utility functions
2021-07-15 01:47:04 +02:00
43da1220ee
error: fix brainfart
2021-07-14 22:58:49 +02:00
b010638dd1
string: add creationg and char access functions
2021-07-14 22:24:07 +02:00
c70068f1b8
utf: fix some more bugs
...
It's beginning to actually work, wow
2021-07-14 22:19:33 +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
06d538bc4a
utf: use unsigned types
...
Turns out the people warning about doing signed bitshifts were right
2021-07-14 21:15:07 +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
54869dcd6c
utf: use correct format specifier
2021-07-14 16:42:15 +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
7eed96edcf
remove jemalloc and fall back to libc
...
completely replacing libc while still supporting all POSIX compliant
systems is probably gonna take a little more effort than just one
developer. Which is a bummer, but you gotta work with the cards you're
dealt, i guess.
2021-07-10 20:55:44 +02:00
a73ea804b5
implement generic syscalls
2021-07-09 16:56:23 +02:00
11548e74ba
integrate jemalloc into cmake build
...
well that was painful
2021-07-09 14:07:13 +02:00
c43f15d659
add jemalloc submodule
2021-07-09 00:21:46 +02:00
673ed9bfb8
initial commit uwu
2021-07-09 00:04:44 +02:00