fnqualify - qualify a filename
#include <publib.h>
size_t fnqualify(char *result, const char *path, size_t max);
fname_qualify qualifies a filename. This means that if the input name is
not an absolute name (i.e. starts from the root directory, e.g. is foo,
not /tmp/foo), the current directory will be prepended to it. Also,
tilde conversion is done: if the filename begins with a tilde (~), the tilde
is replaced with the home directory of the user, and if it begins with a tilde
and a username, both are replaced with the home directory of the given user.
Simplifications like replacing /./ with /, and /foo/../bar with
/bar are not done because of problems with symbolic links.
The function returns -1 if there was some error, or the total size of the full
name otherwise. The return value may be greater than the maximum size given by
the last argument; only as much as allowed by that is actually written,
though.
Lars Wirzenius (lars.wirzenius@helsinki.fi)