Commit Graph

108 Commits

Author SHA1 Message Date
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
d5191c49c1 core: status: add permission denied status code 2025-06-27 21:40:44 +01:00
07581f6de0 core: queue: update b_queue_empty parameter to be a const ptr 2025-06-27 21:38:34 +01:00
f5b1200525 build: add io module to FindBluelib.cmake 2025-04-11 14:02:02 +01:00
aa24becb2f core: add hash and rope tests 2025-04-11 14:01:47 +01:00
f67a55500b core: fix hash subdirectory not being included in build 2025-04-11 14:01:15 +01:00
fd47d10271 core: btree: template function comparator now checks for a negative value rather than -1 in particular 2025-04-11 14:00:52 +01:00
17e4bb8e19 core: add functions to calculate the length of an int 2025-04-11 13:57:17 +01:00
eb7e88d9fa object: start implement bit-buffer data structure 2025-04-11 13:56:26 +01:00
0ddfb2ee3c object: add generic byte-buffer data structure 2025-04-11 13:56:09 +01:00
640bf57b60 object: add b_string_substr 2025-04-11 13:55:36 +01:00
a627116264 io: add lots of directory and path manipulation functions 2025-04-11 13:54:53 +01:00
f3e48f3e47 core: add rope data structure for efficiently building strings 2025-04-11 13:53:48 +01:00
ed4942c500 core: add support for lots of different hash algorithms 2025-04-11 13:52:42 +01:00
c630321bf6 build: add support for generic source sub-directories in modules 2025-04-11 13:48:18 +01:00
bf83831cee io: implement stat'ing paths, files, and directory contents 2025-02-14 22:06:24 +00:00
61848aadd7 io: fix null pointer deref in win32 update_iterator_data 2025-02-14 18:39:58 +00:00
8177eb2b24 io: store current directory iterator filepath as a b_path 2025-02-13 21:36:53 +00:00