35 lines
709 B
Plaintext
35 lines
709 B
Plaintext
.TH CLEANNAME 2
|
|
.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 /sys/src/libc/port/cleanname.c
|
|
.SH SEE ALSO
|
|
.IR cleanname (1)
|