---
name: "fnqualify"
section: "3pub"
platform: "linux"
package: "publib-dev"
version: "0.40-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/fnqualify"
---

# fnqualify(3pub)

qualify a filename

## NAME

fnqualify - qualify a filename

## SYNOPSIS

```
#include <publib.h>

size_t fnqualify(char *result, const char *path, size_t max);
```

## DESCRIPTION

*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.

## RETURNS

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.

## SEE ALSO

publib(3), fname(3)

## AUTHOR

Lars Wirzenius (lars.wirzenius@helsinki.fi)
