This function first validates, then normalizes the given path in place.
Returns an empty string if path is a suitable path to store an object into a RFile, otherwise returns a description of why that is not the case.
A valid object path must:
- not be empty
- not contain the character '.'
- not contain ASCII control characters or whitespace characters (including tab or newline).
- not contain more than RFile::kMaxPathNesting path fragments (i.e. more than RFile::kMaxPathNesting - 1 '/')
- not end with a '/'
In addition, when writing an object to RFile, the character ';' is also banned.
Passing an invalid path to Put will cause it to throw an exception, and passing an invalid path to Get will always return nullptr.
If required, path is modified to make its hierarchy-related meaning consistent. This entails:
- combining any consecutive '/' into a single one;
- stripping any leading '/'.
Definition at line 128 of file RFile.cxx.