Commit Graph

286 Commits

Author SHA1 Message Date
wash 46b2bec67a test: add a test that reads one utf8 codepoint from a file 2025-10-25 00:06:45 +01:00
wash 02b6e3e3ad serial: toml: use b_string_replace_all_with_stringstream in refill_linebuf 2025-10-25 00:06:11 +01:00
wash 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
wash 7afc398f68 ds: string: replace utf-8 functions with b_wchar_utf8 interface 2025-10-25 00:04:26 +01:00
wash 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
wash f6f49faf97 core: encoding: add utf-8 functions from b_string to b_wchar interface 2025-10-25 00:02:15 +01:00
wash 3e82d12476 core: hash: fix hash backends erasing ctx function pointers 2025-10-25 00:01:16 +01:00
wash 7c9a753007 core: object: add nullptr checks to data retrieval functions 2025-10-25 00:00:37 +01:00
wash e499d8631f test: update b_stream usage 2025-10-24 12:51:54 +01:00
wash a956e21fc4 io: path: update to_string() to use new b_stream interface 2025-10-24 12:50:15 +01:00
wash 50ed2683ea io: file: change base class to b_stream: implement b_stream virtual functions 2025-10-24 12:48:18 +01:00
wash 508cb75ea3 serial: remove json (de)serialiser
this will be replaced with a new (de)serialiser that won't use
another library's data structures as an intermediary.
2025-10-24 12:45:53 +01:00
wash 749bc8bc5b serial: update b_stream usage 2025-10-24 12:45:43 +01:00
wash f941c470b6 serial: toml: replace b_string usage with b_stringstream in refill_linebuf 2025-10-24 12:44:45 +01:00
wash 68ed163040 term: error: update b_stringstream usage 2025-10-24 12:43:56 +01:00
wash 3561bdda4b term: paragraph: add missing include 2025-10-24 12:43:42 +01:00
wash 57361b7dae cmd: report: update b_stringstream usage 2025-10-24 12:42:38 +01:00
wash f50b2216c0 compress: cstream: update b_stream usage 2025-10-24 12:42:13 +01:00
wash 9729ab4f05 ds: number: update to_string() to use new b_stream interface 2025-10-24 12:41:39 +01:00
wash eb3871f7ac ds: dict: update to_string() to use new b_stream interface 2025-10-24 12:41:26 +01:00
wash d5136239a8 ds: string: update to_string(); remove legacy b_stream callbacks
b_string will no longer implement the b_stream interface. writing to a string
via b_stream will now be handled by b_stringstream.
2025-10-24 12:39:19 +01:00
wash 0fed0d2718 ds: uuid: update to_string() to use new b_stream interface 2025-10-24 12:38:55 +01:00
wash 4e793eef0e ds: datetime: update to_string() to use new b_stream interface 2025-10-24 12:38:28 +01:00
wash 586d4e3bc4 ds: array: update to_string() to use new b_stream interface 2025-10-24 12:34:20 +01:00
wash 1d9549c0c2 core: error: update b_stringstream usage to use b_stream interface 2025-10-24 12:33:23 +01:00
wash a5762e537b core: stringstream: convert to a b_object type inheriting from b_stream 2025-10-24 12:32:54 +01:00
wash fd4f60e37f core: stream: convert to a b_object interface and base class 2025-10-24 12:32:16 +01:00
wash 8840971d83 core: object: add more virtual function dispatch macros 2025-10-24 12:31:51 +01:00
wash ed105307c7 core: type: fix registration of types that extend something other than b_object 2025-10-24 12:29:24 +01:00
wash 36b624849c core: object: add functions to retrieve multiple parts of an object at once 2025-10-24 12:28:50 +01:00
wash 21c4005819 test: io: update to use new object system 2025-10-19 21:03:01 +01:00
wash 25dc4038df test: ds: update to use new object system 2025-10-19 21:02:52 +01:00
wash 1daf31093c test: serial: update to use new object system 2025-10-19 21:02:38 +01:00
wash 2773ecbd71 test: update to use new object system 2025-10-19 21:02:30 +01:00
wash 34c54eb545 cmd: update to use new object system 2025-10-19 21:02:12 +01:00
wash fd04a49d84 term: update to use new object system 2025-10-19 21:01:55 +01:00
wash 6e979579ea serial: update to use new object system 2025-10-19 21:01:27 +01:00
wash 297ccdc9ce io: file: convert to new object system 2025-10-19 21:00:56 +01:00
wash 5b9ecb6d3c io: directory: convert to new object system 2025-10-19 21:00:45 +01:00
wash 5f660a4a4e io: path: convert to new object system 2025-10-19 21:00:26 +01:00
wash 5e850a4a53 ds: string: fix segfault when initialising string iterator 2025-10-19 20:59:36 +01:00
wash 03e309ea36 ds: fix incorrect object class definitions 2025-10-19 20:59:17 +01:00
wash ab1c2b370d core: object: implement rvalue object support 2025-10-19 20:58:32 +01:00
wash 2cc1a541c2 core: object: implement b_object_is_type() 2025-10-19 13:46:44 +01:00
wash 838835e6e1 ds: tree: convert to new object system 2025-10-19 13:42:10 +01:00
wash 6a56391a07 ds: number: convert to new object system 2025-10-19 13:32:53 +01:00
wash 4e35a2275d ds: uuid: convert to new object system 2025-10-19 13:10:45 +01:00
wash c2b422f0ca ds: list: convert to new object system 2025-10-19 12:46:25 +01:00
wash 59fdb55a8b ds: hashmap: convert to new object system 2025-10-19 12:22:14 +01:00
wash 5bf3c50a7f ds: dict: convert to new object system 2025-10-19 11:58:48 +01:00