Releases: salass00/filesysbox
Version 54.5
Version 54.4
-
When setting fib_Size/ed_Size clamp file size to (INT32_MAX-1) if the field
is 32-bit (LONG/ULONG). -
Fixed a memory leak in the ExNext directory scanning implementation (nodes
are removed from the dirdatalist but not freed) that was already there in
the 0.730 version of the library. -
Implemented a lock handler process to allow file systems to be unmounted
even if there are outstanding locks/notifications. -
AmigaOS 3 versions are now compiled with -mregparm enabling the use of
registers d0/d1 and a0/a1 for parameter passing in internal function
calls.
Version 54.3
-
AllocFuseFileInfo() did not clear the allocated fuse_file_info structure
which resulted in randomly occurring bugs like otherwise legal ACTION_SEEK
packets failing with ERROR_ACTION_NOT_KNOWN if the nonseekable flag happened
to be set. This has now been fixed by explicitly clearing the memory before
it is used. -
Changed to use ULONGs for the uptime timestamps used in FbxEventLoop() to
save some CPU cycles. -
Rewrote the FbxExamineAll() function to not make assumptions about the sizes
of the various ExAllData fields.
Version 54.2
-
Fixed support for codesets other than ISO-8859-1/latin-1 (was not working
before due to size and attributes parameters being switched around in the
AllocMem() call). -
Now ignores the ".language" extension when looking for a codeset based on
loc_LanguageName. -
UTF-8 to local charset conversion now uses an AVL tree instead of iterating
over the maptable array to find a match. -
Added experimental ACTION_DIE packet support.
Version 54.1
Changes since version 54.0:
-
A rename operation with exactly the same source and destination is now
treated as a no-op and returns success rather than ERROR_OBJECT_EXISTS. -
Rename operations where the the only change is in letter casing (e.g.
"rename tmp TMP") no longer fail with ERROR_OBJECT_EXISTS on case
insensitive file system implementations. -
Advance the file position in FSWrite() also if write() returns a lower
number of bytes written than was specified. -
Implemented the same charset conversion system that is used in the latest
AmigaOS 4 filesysbox versions. Internally filesysbox still uses UTF-8 for
all strings and conversion only happens when strings are passed to or from
the AmigaDOS API. In order for the conversion to be reversible any UTF-8
characters that do not have an equivalent in the local charset will be
converted into URL-style escape sequences where the character is specified
as a base32 encoded character sequence preceded by a percent symbol.
Changes since version 53.7:
-
Added timezone conversion code using locale.library.
-
Calculate a path hash for fib_DiskKey unless FBXF_USE_INO flag is set.
-
Added FBXF_USE_FILL_DIR_STAT flag to avoid unnecessary getattr() calls for
filesystems like ssh2-handler that already provide all the stat data in
readdir(). -
Don't treat ENOSYS return value from FbxSetAmigaProtectionFlags() as an
error. -
Rewrote the FbxFillInfoData() function and made it set id_BytesPerBlock to
512 instead of zero if a volume is not available. -
Modified path handling for Ext2FileSystem which only accepts "/" as path
argument for the file system root directory and not "". -
Rewrote FbxReturnMountMsg() using ReplyPkt() and added a NULL msg safety
check. -
Added some more validity checks when reading FSSM from device node in
FbxSetupFS(). -
Added validity checks in code for getting FSSM in FbxQueryMountMsg().
-
Changed CHECKVOLUME() macro to return ERROR_NOT_A_DOS_DISK instead of
ERROR_OBJECT_IN_USE when the filesystem is inhibited. -
Added semaphore protection in FbxHandleTimerEvent().
-
Added the FbxQueryFS() and FbxQueryFSTags() functions.
-
Added the FbxGetSysTime() function.
Version 53.6
- FbxSameLock() now returns DOSTRUE if entry pointers are the same.
- Removed the now useless path comparison in FbxSameLock().
Version 53.5
- FbxExamineAll() now only returns DOSTRUE when there are more entries
available. - Fixed a bad pointer access in FbxExamineAllEnd() introduced by a change in
the last version.