Only nullify the key in find_path() if the name contains our device
(SHARE:) or volume (MiSTer:) name.
This fixes the ability to create assigns to locations on the shared
filesystem. If find_path() is called with an assign-relative path, we
want to preserve the key so that a relative path is constructed from the
directory associated with that key.
Adapt upstream fix from a314.
Original message:
Using ACTION_FINDINPUT to check if a file exists wrongfully returned
ERROR_DIR_NOT_FOUND instead of ERROR_OBJECT_NOT_FOUND if the file was
searched for in a non-existent subdirectory.
Adapt upstream fix from a314.
Original message:
This action is performed when doing a drag-n-drop copy from the PiDisk
to an other device in Workbench 3.1.4
Some applications would fail to load some files due to negative seek
offsets being corrupted by unsigned conversion.
A simple test case is AmigaGuide: place an AmigaGuide document on the
shared volume and attempt to open it. Before this patch, this would fail
silently.
Adapt upstream fix from a314.
This fixes some odd behaviour in Workbench such as:
- Icons that were "Left Out" would reappear in their parent windows
when refreshed.
- Deleted files would not disappear from the window unless it was
refreshed.
Original message from a314 commit:
This call is used in at least 2.1 to terminate directory traversal
when deleting a directory using Workbench. This sometimes caused
unhandled exceptions in a314d and much worse unintended files being
deleted!
Renaming a file or directory to its own name is legal under AmigaOS, so
ensure that this case is a no-op and returns success.
This fixes the error encountered when creating a new drawer under SHARE:
and accepting the default name of "Unnamed1", for example.