.TH CLEANNAME 3 | |
.SH NAME | |
cleanname \- clean a path name | |
.SH SYNOPSIS | |
.B #include <u.h> | |
.br | |
.B #include <libc.h> | |
.sp | |
.B | |
char* cleanname(char *filename) | |
.SH DESCRIPTION | |
.I Cleanname | |
takes a | |
.I 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 | |
.B . | |
and | |
.B .. | |
directory components in the name. | |
The string is overwritten in place. | |
.PP | |
The shortest string | |
.I cleanname | |
can return is two bytes: the null-terminated string | |
\f(CW"."\f1. | |
Therefore | |
.I filename | |
must contain room for at least two bytes. | |
.SH SOURCE | |
.B \*9/src/lib9/cleanname.c | |
.SH SEE ALSO | |
.IR cleanname (1) |