| CLEANNAME(3) | CLEANNAME(3)

NAME

| cleanname – clean a path name

SYNOPSIS

| `#include <u.h> #include <libc.h> char* cleanname(char *filename)`

DESCRIPTION

Cleanname takes a filename and by lexical processing only returns the shortest string that names the same (possibly hypothetical) file. It eliminates multiple and trailing slashes, and it lexically interprets `.` and `..` directory components in the name. The string is overwritten in place.

The shortest string cleanname can return is two bytes: the null-terminated string `"."`. Therefore filename must contain room for at least two bytes.

SOURCE

| `/usr/local/plan9/src/lib9/cleanname.c`

SEE ALSO

| cleanname(1)