.TH CLEANNAME 2 .SH NAME cleanname \- clean a path name .SH SYNOPSIS .B #include .br .B #include .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 /sys/src/libc/port/cleanname.c .SH SEE ALSO .IR cleanname (1)