Commit ba439592 authored by John Ballance's avatar John Ballance
Browse files

now ensures that any long name that doesn't match the linked shortname is...

now ensures that any long name that doesn't match the linked shortname is markee erased. This then copes with images where a longnamed file is deleted on shortname filing system, thus leaving several longname name entries 'hanging around'

Detail:

Admin:
         tested at castle.. castle added IP


Version 0.84. Tagged as 'DOSFS-0_84'
parent cde23f48
/* (0.83)
/* (0.84)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.68.
*
*/
#define Module_MajorVersion_CMHG 0.83
#define Module_MajorVersion_CMHG 0.84
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 29 Oct 2004
#define Module_Date_CMHG 04 Nov 2004
#define Module_MajorVersion "0.83"
#define Module_Version 83
#define Module_MajorVersion "0.84"
#define Module_Version 84
#define Module_MinorVersion ""
#define Module_Date "29 Oct 2004"
#define Module_Date "04 Nov 2004"
#define Module_ApplicationDate "29-Oct-04"
#define Module_ApplicationDate "04-Nov-04"
#define Module_ComponentName "DOSFS"
#define Module_ComponentPath "RiscOS/Sources/FileSys/ImageFS/DOSFS"
#define Module_FullVersion "0.83"
#define Module_HelpVersion "0.83 (29 Oct 2004)"
#define Module_LibraryVersionInfo "0:83"
#define Module_FullVersion "0.84"
#define Module_HelpVersion "0.84 (04 Nov 2004)"
#define Module_LibraryVersionInfo "0:84"
......@@ -1455,7 +1455,7 @@ static DIR_info *read_cache_dir(
}
// NULL the lfn pointer store
int i;
int i,j;
for(i=0;i<((dirstruct->dir_size)/sizeof(DOS_direntry));i++) dirstruct->lfnp[i] = NULL;
dprintf(("","read_cache_dir: last lfnp NULLed:%p \n", &dirstruct->lfnp[i-1]));
......@@ -1484,7 +1484,20 @@ static DIR_info *read_cache_dir(
}
if(lfnentry->FILE_checksum != lfnchecksum((char*)&((fentry+i)->FILE_status)))
{
dprintf(("","_read lfns: extended lfn but no cksum match"));
dprintf(("","_read lfns: extended lfn but no cksum match \n"));
dprintf(("","_read lfns: sfentry: %p \n",fentry+i));
// We'd better delete backwards the duff entries..
// leave till later to write out
j=i;
while(--j>=0)
{
if((fentry+j)->FILE_attribute==0xF)
{
dprintf(("","_read lfns: Nullinf: %p \n",fentry+j));
(fentry+j)->FILE_status = 0xE5;
}
else j=0;
}
break;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment