summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2002-04-27 19:39:08 +0000
committerBjörn Stenberg <bjorn@haxx.se>2002-04-27 19:39:08 +0000
commit9a3c16dea87f6f46f15ff732998e61310908dc7e (patch)
treebe6b267180f3258c8449c8614bf9e6cba0b66004 /firmware
parente8bcc01edf28922d215111c1b43ff01d1c033a29 (diff)
downloadrockbox-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.c36
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"))