From a994cdb087e63432c31e1a03079a5251fee11587 Mon Sep 17 00:00:00 2001 From: Nathanne Isip Date: Mon, 13 May 2024 15:38:24 +0800 Subject: [PATCH] System folder ensurement implementation for Rishka VM. --- src/rishka_vm.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/rishka_vm.cpp b/src/rishka_vm.cpp index bdb5aaf..ecbf3c1 100644 --- a/src/rishka_vm.cpp +++ b/src/rishka_vm.cpp @@ -944,6 +944,23 @@ String RishkaVM::getWorkingDirectory() { return String(this->workingDirectory.c_str()); } +void RishkaVM::ensureSystemDirectories() { + if(!SD.exists("/bin")) + SD.mkdir("/bin"); + + if(!SD.exists("/etc")) + SD.mkdir("/etc"); + + if(!SD.exists("/home")) + SD.mkdir("/home"); + + if(!SD.exists("/man")) + SD.mkdir("/man"); + + if(!SD.exists("/tmp")) + SD.mkdir("/tmp"); +} + inline int64_t RishkaVM::shiftLeftInt64(int64_t a, int64_t b) { if(b >= 0 && b < 64) return ((uint64_t) a) << b;