If the path buffer is empty, the filename is left unset and this
function returns FALSE.
If the path buffer only contains the root element (on Unix-like operating
systems) or the drive (on Windows), this is the equivalent of pushing
the new file_name.
If the path buffer contains a path, this is the equivalent of
popping the path buffer and pushing file_name, creating a
sibling of the original path.
Sets the file name of the path.
If the path buffer is empty, the filename is left unset and this function returns FALSE.
If the path buffer only contains the root element (on Unix-like operating systems) or the drive (on Windows), this is the equivalent of pushing the new file_name.
If the path buffer contains a path, this is the equivalent of popping the path buffer and pushing file_name, creating a sibling of the original path.