Commit Graph

95 Commits

Author SHA1 Message Date
c5a867d81c
libluna: Add wcscmp 2023-04-28 20:00:26 +02:00
15dcd6ad15
libluna: Check the whole string in Utf8StringDecoder::code_points() 2023-04-28 20:00:14 +02:00
b4a5aff071
libluna: Fix UTF-8 encoding 2023-04-28 19:59:40 +02:00
b1e400d795
libluna: Allow callers to optimize heap allocations by telling us they won't resize the returned memory
All checks were successful
continuous-integration/drone/push Build is passing
strdup() now does this. If someone resizes strdup()-ed memory, nothing bad will happen, they will just take a small performance hit the first time.

But I think realloc-ing strdup()-ed memory is rare, that's why I did this.
2023-04-27 17:36:25 +02:00
e1ac9473a2
libluna: If allowing garbage chars while decoding Base64, skip them after the padding instead of erroring out 2023-04-26 22:32:24 +02:00
b48d1024a8
libluna: Add Base64 encoding and decoding code 2023-04-26 20:57:48 +02:00
37547ec640
libluna: Run lint scripts
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-23 10:53:48 +02:00
dcc6bbf055
libluna: Add String::trim 2023-04-22 15:19:07 +02:00
fb79e12248
StringView: Add split_once and to_uint 2023-04-20 20:08:49 +02:00
0058df9f01
libluna: Handle * characters correctly in cstyle_format 2023-04-19 19:05:09 +02:00
3b4214c8be
dirname: Parse one-character paths properly
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-16 11:25:47 +02:00
60c6e764a4
libos+apps: Add some missing functionality to File and eliminate any trace of C from cat and edit
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-13 17:31:21 +02:00
193d63c81b
libluna+libc: Add strpbrk()
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-12 18:42:25 +02:00
427662d5f1
kernel+libc: Add getcwd() 2023-04-11 22:45:13 +02:00
2a967f4b8b
kernel+libc: Add chdir() 2023-04-11 22:15:21 +02:00
fe348d56c0
String+StringView: Add split() 2023-04-07 15:14:46 +02:00
0f678f845c
String: Add operator=
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-07 12:14:21 +02:00
4e48d024d9
libluna: Add StringBuilder 2023-04-07 11:53:52 +02:00
a9b5cf99f7
UBSAN: Add __ubsan_handle_nonnull_arg 2023-04-07 11:53:19 +02:00
1210d2b7da
libluna: Add/remove some const qualifiers 2023-04-07 11:52:20 +02:00
9b8996adeb
libluna: Add String::format 2023-04-07 10:37:00 +02:00
d68f6bd76b
ArgumentParser+ls: Add switch arguments
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-29 19:25:11 +02:00
724dab636c
apps: Switch to C++
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-29 17:56:56 +02:00
ef01f187c3
libluna: Add StringView
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-29 17:43:10 +02:00
01813ff0dd
String: Rename from_string_literal to from_cstring 2023-03-29 17:34:30 +02:00
ee60ab78b3
String: is_empty + proper initialization 2023-03-29 17:32:53 +02:00
b6c35124d6
libluna: OwnedStringView -> String
Also with inline storage!
2023-03-29 17:28:22 +02:00
df10544e84
libc: Add libgen.h
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-28 19:47:47 +02:00
83492339ec
Buffer: Add an append_data() method 2023-03-23 21:20:57 +01:00
d86da05bea
libluna/TarStream: Remove unused functionality
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-17 00:00:27 +01:00
d2049567c8
libluna+libc: Add strncmp, strncat and strncpy
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-12 15:20:44 +01:00
af0cb83a58
libluna+kernel: Get rid of nullcpy()
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-12 10:28:50 +01:00
30deed2820
libluna/CPath: Replace size_t with usize
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-11 10:39:42 +01:00
d95ef110c9
vfs: Add support for creating directories given a full path 2023-03-11 01:13:44 +01:00
6fd28379a9
TarStream: Add a direct pointer to entry data in the Entry struct 2023-03-11 00:55:26 +01:00
e5a41d2d52
tmpfs: Implement FileInode read() and write() 2023-03-11 00:52:39 +01:00
89bea931cd
libluna: Add a very simple Buffer class, to help implement tmpfs files
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-11 00:27:08 +01:00
4c66017807
libluna: Add PathParser, a C++-style way of iterating over path sections
Still uses strtok under the hood, though.
2023-03-10 22:17:16 +01:00
5a9da55e05
libluna/CString: Implement strspn and strcspn, and using those implement strtok 2023-03-10 21:32:18 +01:00
e8a401efc2
libluna/Heap: Crash the kernel (but not userspace) on invalid frees
This makes them way easier to catch and forces us to get those out of the way.
2023-03-10 21:02:09 +01:00
7d045e45c1
libluna/Heap: Zero out newly created heap blocks 2023-03-07 20:45:30 +01:00
80492f6ad3
luna: Add error_name, similar to strerrorname_np from glibc
All checks were successful
continuous-integration/drone/push Build is passing
man strerrorname_np(3)
2023-03-07 13:14:21 +01:00
de38eb6877
luna: Remove pure_cstyle_format
All checks were successful
continuous-integration/drone/push Build is passing
It was causing a lot of code duplication. If someone doesn't have errors, just return {} from the callback and unwrap the Result.
2023-03-02 13:38:21 +01:00
b978d02cfb
luna: Fix %% skipping a character 2023-02-27 16:27:45 +01:00
77887eed80
luna -> libluna
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-27 15:22:39 +01:00