X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ffilesys%2Fdirectory.c;h=353260f91bed04547ea5a56c4dd1b6513e1070fe;hb=dc83e159fc3dd0301a967aef2b84f1460aa3ef08;hp=43f87f0e13e59b2b85afd92ef4da2bba72b5bd31;hpb=621963e2a383d53b2c5eca627102625421b46545;p=pintos-anon diff --git a/src/filesys/directory.c b/src/filesys/directory.c index 43f87f0..353260f 100644 --- a/src/filesys/directory.c +++ b/src/filesys/directory.c @@ -1,5 +1,6 @@ #include "directory.h" #include "file.h" +#include "fsutil.h" #include "lib.h" #include "malloc.h" @@ -57,7 +58,7 @@ lookup (const struct dir *d, const char *name) bool dir_lookup (const struct dir *d, const char *name, - disk_sector_no *filehdr_sector) + disk_sector_t *filehdr_sector) { const struct dir_entry *e; @@ -76,7 +77,7 @@ dir_lookup (const struct dir *d, const char *name, } bool -dir_add (struct dir *d, const char *name, disk_sector_no filehdr_sector) +dir_add (struct dir *d, const char *name, disk_sector_t filehdr_sector) { size_t i; @@ -116,5 +117,26 @@ dir_remove (struct dir *d, const char *name) return false; } -void dir_list (const struct dir *); -void dir_print (const struct dir *); +void +dir_list (const struct dir *d) +{ + struct dir_entry *e; + + for (e = d->entries; e < d->entries + d->entry_cnt; e++) + if (e->in_use) + printk ("%s\n", e->name); +} + +void +dir_dump (const struct dir *d) +{ + struct dir_entry *e; + + for (e = d->entries; e < d->entries + d->entry_cnt; e++) + if (e->in_use) + { + printk ("Contents of %s:\n", e->name); + fsutil_print (e->name); + printk ("\n"); + } +}