Commits (5)
-
Robert Sprowson authored
Some of the long filenames handling added in DOSFS-0_79 (DOSFSops.c revision 4.10) introduced extra points to return in the face of error, but didn't free memory allocated earlier in the function. Add missing free()'s. From a tip off from Dominic Plunkett in http://www.riscosopen.org/forum/forums/4/topics/3990#posts-51013 Version 1.09. Tagged as 'DOSFS-1_09'
af080143 -
Robert Sprowson authored
DOSFS would prefer to use the disc title from the volume name entry in the root directory, even if this reduced to 1 letter, which would then lead to "Disc drive not known" errors. Since the disc couldn't be mounted it couldn't be renamed either, requiring a trip to a PC to do so. Now, if the cleaned up name is < 2 characters long, ignore it and use the one based on the volumeid, and if that doesn't exist, use the default one ("Untitled") from the Messages file. In OpsFunc.c used memset() in place of a byte set loop. Ref https://www.riscosopen.org/forum/forums/4/topics/9503 DOSFS.c, line 621: remove the excess NULL so the sprintf fits into the 10 byte buffer, not 11. DOSFS.c, line 1556: restore the original intent for *CopyBoot in light of the structure/union reorg DOSshape.h revision 4.7 in DOSFS-0_79. Previously the boot code was copied in its entirity as an opaque blob, but the loop was left unchanged, overrunning the sector buffer. A useful example of the extent of the boot code is given in http://thestarman.pcministry.com/asm/mbr/DOS50FDB.htm which shows the code uses up every last byte of the sector. Tested with a disc called "R", which can now be mounted. A floppy with no name and no volume id, and one with no name and a volume id. Version 1.10. Tagged as 'DOSFS-1_10'
8e566c40 -
Robert Sprowson authored
Untangle the PCMCIATRUE misnomer - what it really meant was "offer PCMCIA card as an option for *Format AND allow non floppy geometries". Nothing has shipped with PCCardFS since October 1994, so stop offering it as a possible *Format. However, we do rely on the non floppy geometries for things like SD cards and USB sticks, so retain that with a new switch (permanently enabled) called NONFLOPPIES. Tested with a Pi SD card and a 4GB USB stick. Version 1.11. Tagged as 'DOSFS-1_11'
c030e516 -
Jeffrey Lee authored
Detail: c/Accessors, h/Accessors, Makefile - Added some simple 'image accessor' routines to abstract over accessing the underlying disc/image file. These accept 64bit disc addresses and will check to make sure any size limits imposed by the lower-level API are adhered to (512MB limit for FileCore_DiscOp, or extent of image file for OS_GBPB) h/MsgTrans, Resources/Germany/Messages, Resources/UK/Messages - Add a couple of new error messages h/Helpers - Add a couple of macros to simplify reading 16/32bit values that are split into multiple bytes in struct definitions. Change writeWORD & loadWORD to accept void* instead of char* so they can be used with other types like 'byte' h/DOSshape - Add '0' suffix to some struct members so they can be used with new READ_0123 macro h/ADFSshape - Make sure put_doublestep is safe to use with bools c/DOSdirs - Remove pointless malloc of small temporary array c/DOSclusters - Use new READ_ macros in max_sector() c/DOSFS - Use new READ_ macros so code is less painful to read. Use new image accessor system to get rid of some boilerplate for reading from the disc (+ extra error checks). Change 32bit values to 64bit where it looks like it's necessary, and use bools in place of a couple of 0/1 ints. Reject any discs which are too big for the 32bit fields in the ADFS disc record. c/OpsFunc - Update DOSFS_image_open in ways similar to the code in c/DOSFS, making use of READ_, image accessor, 64bit values, and adding extra error checks. Admin: Tested with assorted large & small image files & SD cards on a BB-xM, and some DOS/Atari floppy discs on a RiscPC FAT partitions larger than 4GB (or which extend past the 4GB FileSwitch limit) are now rejected, as are image files which have been truncated A future improvement could be to lift the disc/partition identification code out of c/DOSFS and c/OpsFunc and unify it, since both files contain fairly similar code German messages are in need of translation Version 1.12. Tagged as 'DOSFS-1_12'
eb3e3485 -
Jeffrey Lee authored
Detail: c/DOSdirs - Now that nbuff is an array held on the stack, there's no need for findSUBDIR to check whether it's a null pointer Admin: Builds, untested Issue spotted by Dominic Plunkett Version 1.13. Tagged as 'DOSFS-1_13'
9f6e8ade
Showing
No preview for this file type
No preview for this file type
c/Accessors
0 → 100644
This diff is collapsed.
h/Accessors
0 → 100644