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
80914f0bb9
ArgumentParser: Add support for version information
continuous-integration/drone/push Build is passing
2023-04-28 16:33:05 +02:00
0c1d33f2ec
kernel: Move some files into subdirectories
continuous-integration/drone/push Build is passing
2023-04-28 15:55:06 +02:00
52ce4b28aa
Scheduler: Remove redundant check in for_each_child
continuous-integration/drone/push Build is passing
2023-04-28 15:22:16 +02:00
7b4cfd52cd
Scheduler: Don't search threads spawned before the current thread to find children
...
continuous-integration/drone/push Build is passing
Children will always be spawned later (and thus have a higher PID) than their parent.
2023-04-28 15:19:01 +02:00
bcdec62f51
kernel: Allow returning early from Scheduler::for_each_child
2023-04-28 15:13:53 +02:00
f3ffdd32d4
libluna: Add support for range-based iteration to LinkedList
2023-04-28 15:12:21 +02:00
77dcfab5ef
kernel: Run the initialization process in a thread
...
continuous-integration/drone/push Build is passing
This way we can give it more stack and also reclaim it later!
2023-04-28 13:23:07 +02:00
b1e400d795
libluna: Allow callers to optimize heap allocations by telling us they won't resize the returned memory
...
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
f0fc3ec7ca
Remove old note from README
continuous-integration/drone/push Build is passing
2023-04-26 22:49:43 +02:00
7c8f195088
base64: Rename --allow-garbage to --ignore-garbage
continuous-integration/drone/push Build is passing
2023-04-26 22:37:55 +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
fb22e14524
tests: Add tests for Base64
continuous-integration/drone/push Build is passing
2023-04-26 21:17:09 +02:00
9d33e22ae0
apps: Add base64
2023-04-26 20:58:04 +02:00
b48d1024a8
libluna: Add Base64 encoding and decoding code
2023-04-26 20:57:48 +02:00
24f4ce9669
kernel: Only allow Ctrl+D on an empty line
2023-04-26 20:42:26 +02:00
099f6131d1
kernel: Avoid printing control characters that we don't have a special meaning for
2023-04-26 20:42:08 +02:00
36bc217056
libluna: Allow constructing a Slice from another one with a different pointer type
2023-04-26 20:41:24 +02:00
cb28e2a385
libos: Add a convenience function for opening a file or standard input
2023-04-26 20:41:03 +02:00
fb09eb97ce
libos: Add File::read_all() and File::read_all_as_string()
2023-04-26 20:34:09 +02:00
5b69ce554c
init: Add a few more configuration options for services
...
continuous-integration/drone/push Build is passing
Notably, redirecting a service's standard streams and waiting for a service to finish before continuing boot.
2023-04-25 21:00:12 +02:00
97e9fceaa4
kernel+libc: Add dup2()
continuous-integration/drone/push Build is passing
2023-04-25 20:37:30 +02:00
188a97cf54
libc: Add execlp
continuous-integration/drone/push Build is passing
2023-04-25 20:25:51 +02:00
89fd57dea4
libc: Propagate all errors in execl() and execvpe() + add execle().
continuous-integration/drone/push Build is passing
2023-04-25 17:43:11 +02:00
b8ca749a6c
su: Default to root if no username is provided
continuous-integration/drone/push Build is passing
2023-04-24 22:24:07 +02:00
919c9dd3cf
sh: Build a more elaborate prompt using the system hostname and username
continuous-integration/drone/push Build is passing
2023-04-24 22:13:06 +02:00
403b0f6b94
kernel+libc+init: Add a way to modify the system hostname
continuous-integration/drone/push Build is passing
2023-04-24 21:20:44 +02:00
cfb4baab4b
apps: Add uname
continuous-integration/drone/push Build is passing
2023-04-24 21:02:04 +02:00
9eab0886b6
kernel+libc: Add uname()
continuous-integration/drone/push Build is passing
2023-04-24 20:34:44 +02:00
a99a0e5a54
tests: Start testing libluna
...
continuous-integration/drone/push Build is passing
Hooray!!
2023-04-23 21:52:28 +02:00
cf8a8c145a
init: Remove redundant continue statement
continuous-integration/drone/push Build is passing
2023-04-23 21:15:23 +02:00
de25338d6c
libluna: Remove redundant return statements in Result<void>
2023-04-23 21:15:00 +02:00
37547ec640
libluna: Run lint scripts
continuous-integration/drone/push Build is passing
2023-04-23 10:53:48 +02:00
2f2b45758e
tools: Update some of the lint scripts with a better system to find source files
2023-04-23 10:53:34 +02:00
e378d8ee2f
Revert "libos: Make File::read_line optionally strip the ending newline"
...
continuous-integration/drone/push Build is passing
This should be done by the caller, as making libos do it will not return a different value if the line was empty or was EOF.
Fortunately, we now have String::trim.
2023-04-22 15:21:04 +02:00
c075aa77b9
init: Allow empty lines in service files
2023-04-22 15:19:37 +02:00
dcc6bbf055
libluna: Add String::trim
2023-04-22 15:19:07 +02:00
257c2ffd0a
init: Add a configurable service system instead of always starting /bin/sh
continuous-integration/drone/push Build is passing
2023-04-22 13:56:08 +02:00
63a2df112d
libos: Make File::read_line optionally strip the ending newline
2023-04-22 13:55:07 +02:00
e654ed6415
libos: Allow passing environment to Process::exec
2023-04-22 13:54:47 +02:00
5d56638851
kernel: Ignore all non-bootstrap processors
continuous-integration/drone/push Build is passing
2023-04-22 12:25:43 +02:00
60694f651f
kernel/ELF: Remove unused include
continuous-integration/drone/push Build is passing
2023-04-22 12:20:30 +02:00
2acd2ed75d
kernel/ELF: Avoid zeroing out memory twice
continuous-integration/drone/push Build is passing
2023-04-22 12:19:22 +02:00
4f6e020196
kernel+libc: Add framebuffer ioctls
continuous-integration/drone/push Build is passing
2023-04-21 18:25:53 +02:00
841fc25137
kernel+init: Add a framebuffer special device file
continuous-integration/drone/push Build is passing
2023-04-21 18:18:15 +02:00
58dc23e4d9
apps: Add stat
continuous-integration/drone/push Build is passing
2023-04-21 18:04:17 +02:00
15b76f94f4
chown: Parse the owner and group properly
continuous-integration/drone/push Build is passing
2023-04-20 20:08:49 +02:00
fb79e12248
StringView: Add split_once and to_uint
2023-04-20 20:08:49 +02:00