From 64aea18c54d335e91b339c7288a78994515c32fc Mon Sep 17 00:00:00 2001 From: d0p1 Date: Fri, 19 Jul 2024 10:38:51 +0200 Subject: [PATCH] fix: extended ascii rendering issue --- .github/workflows/doc.yml | 4 ++++ include/Makefile | 2 +- kernel/fs/stpdfs.inc | 30 ++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index ec084d1..e700291 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -14,6 +14,8 @@ concurrency: group: "pages" cancel-in-progress: false +env: + LANG: "en_US.UTF-8" jobs: docs-deploy: runs-on: ubuntu-latest @@ -26,6 +28,8 @@ jobs: run: | sudo apt-get update sudo apt-get install build-essential naturaldocs + sudo locale-gen en_US.UTF-8 + sudo update-locale LANG=en_US.UTF-8 - name: generate-docs run: | make docs diff --git a/include/Makefile b/include/Makefile index ea1dec0..fa78381 100644 --- a/include/Makefile +++ b/include/Makefile @@ -9,7 +9,7 @@ all: clean: .PHONY: install -install: $(INCS) $(INCSYSDIR) +install: $(INCS) $(SYSINCS) @ mkdir -p $(DESTDIR)$(INCDIR) install $(INCS) $(DESTDIR)$(INCDIR) @ mkdir -p $(DESTDIR)$(INCSYSDIR) diff --git a/kernel/fs/stpdfs.inc b/kernel/fs/stpdfs.inc index 805c410..d714286 100644 --- a/kernel/fs/stpdfs.inc +++ b/kernel/fs/stpdfs.inc @@ -93,6 +93,34 @@ DEFN StpdFS_Sb ;; .zone - TODO ;; .actime - TODO ;; .modtime - TODO + ;; + ;; + ;; Zone 0-6 are direct, zone 7 indirect, zone 8 double indirect, zone 9 triple indirect + ;; > ┌────────┐ + ;; > │ │ + ;; > ┌───────►│Data │ + ;; > │ │ │ + ;; > ┌──────┐ Direct│ └────────┘ + ;; > │zone 0├───────┘ + ;; > ├──────┤ + ;; > │... │ + ;; > ├──────┤ ┌────────┐ ┌────────┐ + ;; > │zone 6│ │ ├─────►│ │ + ;; > ├──────┤ Indirect │ │ │ Data │ + ;; > │zone 7├─────────►│ │ │ │ + ;; > ├──────┤ └────────┘ └────────┘ + ;; > │zone 8├───────┐ + ;; > ├──────┤ │Double indirect┌─────────┐ ┌────────┐ ┌─────────┐ + ;; > │zone 9│ └──────────────►│ ├───►│ ├───►│ │ + ;; > └──┬───┘ │ │ │ │ │ Data │ + ;; > │ │ │ │ │ │ │ + ;; > │ └─────────┘ └────────┘ └─────────┘ + ;; > │ Triple indirect ┌────────┐ + ;; > └────────────────►│ │ ┌──────────┐ ┌─────────┐ ┌──────────┐ + ;; > │ ├───►│ │ │ │ │ │ + ;; > │ │ │ ├─────►│ ├─────►│ Data │ + ;; > └────────┘ │ │ │ │ │ │ + ;; > └──────────┘ └─────────┘ └──────────┘ struc StpdFS_Inode { .mode dw ? .nlink dw ? @@ -117,6 +145,8 @@ struc StpdFS_Dirent { } DEFN StpdFS_Dirent +STPDFS_DIRENT_PER_BLOCK = sizeof.StpdFS_Dirent / STPDFS_BSIZE + ; ------------------------------------------------------------------------ ;; Section: Implementation