Commit Graph

281 Commits

Author SHA1 Message Date
68ab79fe2a core: hash: add support for hashing the contents of ropes 2026-02-03 14:31:35 +00:00
ce9195c130 core: queue: implement moving queue entries
this works exactly the same as moving btree nodes.
2026-02-03 14:30:53 +00:00
837a42e249 core: btree: implement moving btree nodes
moving a btree node is similar to simply using memmove() or memcpy(), with the added
bonus of updating the pointers in the wider data structure to the new node memory
and zeroing the old node memory so that it isn't used accidentally after the move
is complete.
2026-02-03 14:28:58 +00:00
d14a1fc61f io: directory: update error api usage 2025-11-04 10:03:21 +00:00
6b65727535 core: error: rename b_error_release to b_error_discard 2025-11-04 10:03:10 +00:00
5c6030488b test: fix some memory leaks 2025-11-03 21:29:59 +00:00
bd2fe50ec9 test: move all module tests to the test/ directory 2025-11-01 10:12:18 +00:00
a68b9f7ba7 test: update tests 2025-11-01 10:04:41 +00:00
9e21e0c4b2 serial: toml: update iterator usage 2025-11-01 10:04:28 +00:00
5d3a987b0e io: directory: implement new b_iterator interface 2025-11-01 10:03:59 +00:00
ec500c04ad cmd: remove internal usage of legacy iterator interface 2025-11-01 10:02:42 +00:00
c94f976751 ds: string: implement b_iterable interface 2025-11-01 10:01:59 +00:00
3db808d4c4 ds: array: fix iterable_begin not setting iterator status 2025-11-01 10:01:17 +00:00
734c80c527 ds: dict: fix iterable_begin not setting iterator status 2025-11-01 10:00:57 +00:00
493b9ec4a4 core: iterator: implement const iterators 2025-11-01 09:58:18 +00:00
0cbab62391 core: type: fix interface type components not being initialised properly 2025-11-01 09:57:32 +00:00
abf1d45602 core: class: validate magic number in class header 2025-11-01 09:56:52 +00:00
360428c8e8 core: object: validate magic number in object header 2025-11-01 09:56:22 +00:00
053dd26304 ds: dict: re-implement dict_fini and dict_to_string 2025-10-29 15:01:03 +00:00
2d5da8605d ds: tree: update iterator interface 2025-10-29 14:35:46 +00:00
b292168c70 ds: string: update iterator interface 2025-10-29 14:35:36 +00:00
0f89901239 ds: list: update iterator interface 2025-10-29 14:35:18 +00:00
bae95909ca ds: dict: update iterator interface 2025-10-29 14:35:07 +00:00
824d436a1c ds: hashmap: update iterator interface 2025-10-29 14:34:57 +00:00
d8abd54b89 ds: array: update iterator interface 2025-10-29 14:34:38 +00:00
144c3a4c68 core: error: clean up includes and formatting 2025-10-29 14:32:19 +00:00
2ee2f8c115 core: object: remove legacy iterator interface usage 2025-10-29 14:31:09 +00:00
1e4b5bc4e6 core: btree: replace legacy iterator interface 2025-10-29 14:30:33 +00:00
c2b894ef22 core: queue: replace legacy iterator interface 2025-10-29 14:29:05 +00:00
009b6c6292 core: iterator: re-design b_iterator as a b_object interface 2025-10-29 13:52:27 +00:00
71069a6ebb meta: update clang-format config 2025-10-28 15:21:38 +00:00
6639a84a78 test: update tests 2025-10-28 15:21:19 +00:00
2d29713f57 serial: convert b_serial_ctx to a b_object interface 2025-10-28 15:20:57 +00:00
e63095c458 io: file: update b_stream interface 2025-10-28 15:20:37 +00:00
7ba396933a compress: cstream: convert to a b_object type 2025-10-28 15:20:08 +00:00
f3dd0ddd48 compress: compressor: convert b_compressor to a b_object interface 2025-10-28 15:19:30 +00:00
b58015baff core: type: check if a class tries to implement an interface it doesn't extend or inherit 2025-10-28 15:17:50 +00:00
e8eee9ca0d core: type: make get_type static 2025-10-28 15:16:07 +00:00
5b090c72c7 core: stream: change read/write buffer type from unsigned char* to void* 2025-10-28 15:14:57 +00:00
2687477cb2 core: ringbuffer: update from simple struct to a b_object type 2025-10-28 15:14:09 +00:00
5f2bbc7151 core: class: add functions to get a registered class, and get the name of a class 2025-10-28 15:11:54 +00:00
cd54a4f755 test: move leftover object tests to ds-test 2025-10-26 09:38:45 +00:00
75e9291da3 core: error: update header include guard 2025-10-25 19:36:25 +01:00
d459903efc ds: array: update to_string() to surround string values in quotes 2025-10-25 19:22:44 +01:00
263934dbba ds: bitmap: convert from a static array to a b_object 2025-10-25 19:20:56 +01:00
46b2bec67a test: add a test that reads one utf8 codepoint from a file 2025-10-25 00:06:45 +01:00
02b6e3e3ad serial: toml: use b_string_replace_all_with_stringstream in refill_linebuf 2025-10-25 00:06:11 +01:00
a1b177a5a1 ds: string: add function to copy string data from a b_stringstream
unlike b_stringstream_ptr(), this function supports copying strings
that contain null bytes.
2025-10-25 00:04:38 +01:00
7afc398f68 ds: string: replace utf-8 functions with b_wchar_utf8 interface 2025-10-25 00:04:26 +01:00
a429e76721 core: stream: add utf-8 awareness to b_stream interface
b_stream can now read/write utf-8 encoded data, and will do so unless
the stream is in binary mode.

b_stream will also report an error it encounters invalid utf-8 data
(unless binary mode is enabled).
2025-10-25 00:02:33 +01:00