This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Beware - frename bug in RL-FS !

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.

Parents
  • The rename() function does move a file, so the destination name may specify a path to another directory.

    But are you sure that the Keil function frename() should move the file, and that it isn't just specified as renaming the file?

    The documentation only mentions that the "oldname" string may specify a drive and a path.

    http://www.keil.com/support/man/docs/rlarm/rlarm_frename.htm

    It is up to you to care about what characters to use.

    And you don't seem to have a promise in the documentation that a move to a different directory should be an expected behaviour.

Reply
  • The rename() function does move a file, so the destination name may specify a path to another directory.

    But are you sure that the Keil function frename() should move the file, and that it isn't just specified as renaming the file?

    The documentation only mentions that the "oldname" string may specify a drive and a path.

    http://www.keil.com/support/man/docs/rlarm/rlarm_frename.htm

    It is up to you to care about what characters to use.

    And you don't seem to have a promise in the documentation that a move to a different directory should be an expected behaviour.

Children