diff --git a/src/disk.c b/src/disk.c index 61f6170..3e47040 100644 --- a/src/disk.c +++ b/src/disk.c @@ -569,16 +569,21 @@ disk create_disk() { d.owned_blocs[i] = 0; } - // création de la racine '/' - d.inodes[0].filetype = TYPE_DIRECTORY; - d.inodes[0].perms = 0b111111111; // tlm fait ce qu'il veut - d.inodes[0].blocs[0] = 0; // utilise le bloc 0 - d.owned_blocs[0] = 1; // le bloc 1 est maintenant occupé + int root_inode = 0; - //strncpy(&d.blocs[0].datas[0], ".", MAX_INODE_NAME); - //int point_inode = 1; - //d.owned_blocs[point_inode] = 1; - //memcpy(&d.blocs[0].datas[MAX_INODE_NAME], &point_inode, sizeof(int)); + // création de la racine '/' + d.inodes[root_inode].filetype = TYPE_DIRECTORY; + d.inodes[root_inode].perms = 0b111111111; // tlm fait ce qu'il veut + d.inodes[root_inode].blocs[0] = 0; // utilise le bloc 0 + d.owned_blocs[root_inode] = 1; // le bloc 1 est maintenant occupé + + // création de '.' dans '/' + strncpy(&d.blocs[0].datas[0], ".", MAX_INODE_NAME); + memcpy(&d.blocs[0].datas[MAX_INODE_NAME], &root_inode, sizeof(int)); + + // création de '..' dans '/' + strncpy(&d.blocs[0].datas[MAX_INODE_NAME + sizeof(int)], "..", MAX_INODE_NAME); + memcpy(&d.blocs[0].datas[2*(MAX_INODE_NAME) + sizeof(int)], &root_inode, sizeof(int)); int test_file_inode = create_file(&d, &d.inodes[0], "test"); write_in_file(&d, test_file_inode, "coucou petit\ntest!!"); diff --git a/src/exec.c b/src/exec.c index b233c40..328b404 100644 --- a/src/exec.c +++ b/src/exec.c @@ -31,12 +31,6 @@ int do_cd(disk *d, char *path) { return 1; } -#include "env.h" -#include -#include -#include -#include - int do_echo(char **args) { if (args[0] == NULL) { printf("\n");