diff options
author | Anton Kling <anton@kling.gg> | 2023-11-15 02:44:45 +0100 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2023-11-15 21:40:13 +0100 |
commit | e22e493940266e0aa9be2bf58df1821a3539e19b (patch) | |
tree | 64d3516642fae984b5f801db3348d884f661731d /kernel/sched | |
parent | 6747f9407a061684c2fba837541c254f48bfcff0 (diff) |
Kernel/LibC: Add chdir function and syscall
Diffstat (limited to 'kernel/sched')
-rw-r--r-- | kernel/sched/scheduler.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/sched/scheduler.c b/kernel/sched/scheduler.c index e81320b..7d13277 100644 --- a/kernel/sched/scheduler.c +++ b/kernel/sched/scheduler.c @@ -54,7 +54,11 @@ process_t *create_process(process_t *p) { r->cr3); r->signal_handler_stack = 0x80000000; - strcpy(r->current_working_directory, "/"); + if (p) { + strcpy(r->current_working_directory, p->current_working_directory); + } else { + strcpy(r->current_working_directory, "/"); + } r->data_segment_end = (p) ? p->data_segment_end : NULL; memset((void *)r->halts, 0, 2 * sizeof(u32)); for (int i = 0; i < 100; i++) { |