diff options
| author | Björn Stenberg <bjorn@haxx.se> | 2002-04-27 19:39:08 +0000 |
|---|---|---|
| committer | Björn Stenberg <bjorn@haxx.se> | 2002-04-27 19:39:08 +0000 |
| commit | 9a3c16dea87f6f46f15ff732998e61310908dc7e (patch) | |
| tree | be6b267180f3258c8449c8614bf9e6cba0b66004 /firmware | |
| parent | e8bcc01edf28922d215111c1b43ff01d1c033a29 (diff) | |
| download | rockbox-9a3c16dea87f6f46f15ff732998e61310908dc7e.zip rockbox-9a3c16dea87f6f46f15ff732998e61310908dc7e.tar.gz rockbox-9a3c16dea87f6f46f15ff732998e61310908dc7e.tar.bz2 rockbox-9a3c16dea87f6f46f15ff732998e61310908dc7e.tar.xz | |
Added 'type' to test fat_read()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@270 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
| -rw-r--r-- | firmware/test/fat/debug.c | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/firmware/test/fat/debug.c b/firmware/test/fat/debug.c index c24314f..fa7ff86 100644 --- a/firmware/test/fat/debug.c +++ b/firmware/test/fat/debug.c @@ -82,7 +82,7 @@ void dbg_dir(struct bpb *bpb, int currdir) { while(fat_getnext(bpb, &dent, &de) >= 0) { - printf("%s\n", de.name); + printf("%s (%d)\n", de.name,de.firstcluster); } } else @@ -91,6 +91,26 @@ void dbg_dir(struct bpb *bpb, int currdir) } } +void dbg_type(struct bpb *bpb, int cluster) +{ + unsigned char buf[SECTOR_SIZE*5]; + struct fat_fileent ent; + int i; + + fat_open(bpb,cluster,&ent); + + for (i=0;i<5;i++) + if(fat_read(bpb, &ent, 1, buf) >= 0) + { + buf[SECTOR_SIZE]=0; + printf("%s\n", buf); + } + else + { + fprintf(stderr, "Could not read file on cluster %d\n", cluster); + } +} + char current_directory[256] = "\\"; int last_secnum = 0; @@ -105,7 +125,6 @@ void dbg_console(struct bpb* bpb) char last_cmd[32] = ""; int quit = 0; char *s; - int secnum; while(!quit) { @@ -123,7 +142,7 @@ void dbg_console(struct bpb* bpb) { if(!strcasecmp(s, "dir")) { - secnum = 0; + int secnum = 0; if((s = strtok(NULL, " \n"))) { secnum = atoi(s); @@ -149,6 +168,17 @@ void dbg_console(struct bpb* bpb) dbg_dump_sector(last_secnum); continue; } + + if(!strcasecmp(s, "type")) + { + int cluster = 0; + if((s = strtok(NULL, " \n"))) + { + cluster = atoi(s); + } + dbg_type(bpb,cluster); + continue; + } if(!strcasecmp(s, "exit") || !strcasecmp(s, "x")) |