The overloading of IR emits magic \X'...' sequences that turn into HTML manual links. But not all such IR invocations should be manual links; those had to be written to avoid the IR macro before. Worse, the \X'...' ending the IR causes troff to emit only a single space after a period. Defining a new IM macro for manual references fixes both problems. Fixes #441.
34 lines
703 B
Groff
34 lines
703 B
Groff
.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
|
|
.IM cleanname (1)
|