Again, for those who use Keil's middleware - FAT frename function has a nasty bug: if new name contains path (for example "M:\name.txt") the whole string will be used as new name. In this particular case, file will be renamed to M:\name.txt - and now it's not accesible anymore since it contains forbidden characters ':' and '\'. Behaviour is completely wrong. If the path is specified, frename should copy old file to specified destination. In my case, I've created a wrapper function that corrects this issue, which I call instead of frename.
Well, I do not care about move, but specifying invalid file name (containing forbidden characters) should result in returning error code instead of renaming to invalid name, don't you agree?