Commit Graph

125 Commits

Author SHA1 Message Date
771044a95a core: stream: add seek support to stdio streams 2025-07-31 11:13:18 +01:00
918bdad153 test: compress: add mixed compressed/uncompressed data test 2025-07-30 18:33:53 +01:00
f877be66ee test: compress: add simple compression stream test 2025-07-30 18:33:33 +01:00
4aaeb46d11 test: compress: update simple1 compression api usage 2025-07-30 18:32:51 +01:00
73675f1e4d compress: add byte-wise (de)compression stream data structure 2025-07-30 18:32:17 +01:00
8410841b87 compress: zstd: update ringbuffer api usage to use const buffer pointer 2025-07-30 18:31:54 +01:00
5a7f0b8535 compress: compressor: merge compress and decompress functions into a single step function 2025-07-30 18:31:28 +01:00
051d371eb5 compress: move compression mode enum to function.h 2025-07-30 18:30:31 +01:00
e4c4de94b8 core: ringbuffer: reset read and write pointers to 0 when a read buffer consumes all available data 2025-07-30 18:25:17 +01:00
2f874ff11a core: ringbuffer: make open_read_buffer pointer parameter const-correct 2025-07-30 18:24:45 +01:00
b5c07c2390 core: stream: make b_stream_write_bytes buffer pointer const 2025-07-30 18:23:33 +01:00
514b9f1c5f core: stream: add function to open a b_stream from a FILE pointer 2025-07-30 17:49:56 +01:00
56d300f2cf cmake: add compress module to FindBluelib 2025-07-28 22:29:13 +01:00
3e41f51ccf test: compress: add simple (de)compression test using b_compressor 2025-07-28 22:28:59 +01:00
56399b07d8 meta: add compress module for (de)compressing data 2025-07-28 22:27:24 +01:00
65ee2a91b8 build: add new parameters to module template 2025-07-28 22:25:42 +01:00
ff71d94e5d build: set language standard to C99 without extensions 2025-07-28 22:24:46 +01:00
c14d0b717e test: update i/o api usage re: b_error 2025-07-28 22:23:57 +01:00
666b315086 test: term: add enhanced error reporting tests 2025-07-28 22:23:16 +01:00
0e0c95900c test: core: add error and ringbuffer tests 2025-07-28 22:22:38 +01:00
ad4eba6cc1 test: io: update i/o api usage re: b_error 2025-07-28 22:22:14 +01:00
0ab1855105 term: add an enhanced error reporting function 2025-07-28 22:21:13 +01:00
663df15289 io: implement b_error support for file/directory operations 2025-07-28 22:20:20 +01:00
8554541f3a io: path: add b_path_duplicate() 2025-07-28 22:18:52 +01:00
15ae12aa2e object: string: add b_string_duplicate() 2025-07-28 22:17:48 +01:00
04f99a84d5 cmd: fix b_arglist_get_* functions not checking index parameter 2025-07-28 22:17:19 +01:00
f94cff5eef core: add error reporting api 2025-07-28 22:16:26 +01:00
55b76cc43c core: add status code strings and descriptions 2025-07-28 22:15:02 +01:00
3f96be28ed core: add format with va_list function to stringstream 2025-07-28 22:14:34 +01:00
5bac4db7ed core: add ringbuffer data structure 2025-07-28 22:13:41 +01:00
5d6423057a cmd: add functions to report option/arg errors to the public API 2025-07-17 17:56:00 +01:00
92ccc5626d object: add macro to test object type 2025-07-17 17:55:34 +01:00
4690738af1 object: add a range of string transformation functions 2025-07-17 17:55:13 +01:00
5dc6f4088b io: file: add missing static qualifier to stream callbacks 2025-06-27 22:06:22 +01:00
1c880f5b7d object: string: add missing static qualifier to stream callbacks 2025-06-27 22:06:10 +01:00
21f424956e cmake: update FindBluelib to support serial module 2025-06-27 22:00:26 +01:00
9aa75b4d0b test: add cross-module tests 2025-06-27 21:54:23 +01:00
86d5b9d31d test: add lots of stream tests 2025-06-27 21:54:10 +01:00
c987f34693 meta: add serial module for (de)serialising objects 2025-06-27 21:53:40 +01:00
2ced9a8309 cmd: update references to b_stderr 2025-06-27 21:53:03 +01:00
b00d9c51bd term: rename b_stderr to avoid clashing with b_stream stderr pointer 2025-06-27 21:52:42 +01:00
23bd483e78 io: file: add b_stream support 2025-06-27 21:51:52 +01:00
56e35ae07d io: path: update to_string callback to use b_stream 2025-06-27 21:51:39 +01:00
eaa556330e io: implement EPERM -> B_ERR_PERMISSION_DENIED conversion 2025-06-27 21:51:18 +01:00
730b86d907 io: directory: fix wrong stat field usage 2025-06-27 21:50:39 +01:00
c54d51d381 object: update to_string callback to use b_stream instead of b_stringstream 2025-06-27 21:47:55 +01:00
579a9e8505 object: hashmap: implement key/value destructors 2025-06-27 21:46:55 +01:00
5634506433 object: add b_list object
b_list behaves exactly like b_queue, with two key differences:

  1) it is memory-managed like other b_objects, which means it
     is stored on the heap and ref-counted.
  2) it is not an invasive data structure, and will automatically
     create and manage list nodes that contain pointers to the
     list items.
2025-06-27 21:43:57 +01:00
722a22a0e0 core: stringstream: update stringstream to support b_stream 2025-06-27 21:42:53 +01:00
49310eff2c core: add b_stream interface
b_stream represents a character-based I/O stream. it is an abstract interface
that can be implemented by any other object, allowing the object to be
interacted with via the b_stream api.
2025-06-27 21:41:07 +01:00