fix: root creation of '.' and '..'
This commit is contained in:
parent
3cf62ae505
commit
17b9a67217
23
src/disk.c
23
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!!");
|
||||
|
||||
@ -31,12 +31,6 @@ int do_cd(disk *d, char *path) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
#include "env.h"
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
int do_echo(char **args) {
|
||||
if (args[0] == NULL) {
|
||||
printf("\n");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user