From a51e2522aeab2605e0db7bead113e557d5dccd86 Mon Sep 17 00:00:00 2001 From: germeier Date: Tue, 15 Jul 2003 08:26:37 +0000 Subject: further fixes --- ChangeLog | 4 +++- libmpio/src/directory.c | 7 ++++++- libmpio/src/fat.c | 6 +++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 77e4f42..cb7a07c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,7 +2,9 @@ * libmpio/src/directory.c (mpio_dentry_get_real): follow up fix for the broken internal FAT fix added FTYPE_BROKEN - + * libmpio/src/directory.c (mpio_directory_make): + another follow up fix for the broken internal FAT fix + 2003-07-14 Markus Germeier * libmpio/src/directory.c (mpio_dentry_get_startcluster): fixed a bug Yury stumbled across diff --git a/libmpio/src/directory.c b/libmpio/src/directory.c index 7240c14..b4a1e44 100644 --- a/libmpio/src/directory.c +++ b/libmpio/src/directory.c @@ -1,5 +1,5 @@ /* - * $Id: directory.c,v 1.10 2003/07/15 07:34:53 germeier Exp $ + * $Id: directory.c,v 1.11 2003/07/15 08:26:37 germeier Exp $ * * libmpio - a library for accessing Digit@lways MPIO players * Copyright (C) 2002, 2003 Markus Germeier @@ -288,6 +288,11 @@ mpio_directory_make(mpio_t *m, mpio_mem_t mem, BYTE *dir) parent=0; } else { current = mpio_dentry_get_startcluster(m, mem, sm->cdir->dentry); + if (!current) { + debugn(2, "error creating directory"); + return MPIO_ERR_FAT_ERROR; + } + if (mem==MPIO_INTERNAL_MEM) { parent = current->i_index; diff --git a/libmpio/src/fat.c b/libmpio/src/fat.c index 0bd05d9..36ac6ac 100644 --- a/libmpio/src/fat.c +++ b/libmpio/src/fat.c @@ -1,5 +1,5 @@ /* - * $Id: fat.c,v 1.3 2003/04/27 12:08:21 germeier Exp $ + * $Id: fat.c,v 1.4 2003/07/15 08:26:37 germeier Exp $ * * libmpio - a library for accessing Digit@lways MPIO players * Copyright (C) 2002, 2003 Markus Germeier @@ -630,7 +630,7 @@ mpio_fat_internal_find_fileindex(mpio_t *m) mpio_fatentry_t *f; mpio_smartmedia_t *sm = &m->internal; BYTE index[256]; - BYTE found; /* hmm, ... */ + WORD found; /* hmm, ... */ memset(index, 1, 256); @@ -646,7 +646,7 @@ mpio_fat_internal_find_fileindex(mpio_t *m) while((found<256) && (!index[found])) found++; - if (found==256) + if (found>=256) { debug("Oops, did not find a new fileindex!\n" "This should never happen, aborting now!, Sorry!\n"); -- cgit v1.2.3