Tcl_TranslateFileName(3) Tcl Library Procedures Tcl_TranslateFileName(3)
____________________________________________________________________________________________________________
NAME
Tcl_TranslateFileName - convert file name to native form and replace tilde with home directory
SYNOPSIS
#include <tcl.h>
char *
Tcl_TranslateFileName(interp, name, bufferPtr)
ARGUMENTS
Tcl_Interp *interp (in) Interpreter in which to report an error, if any.
CONST char *name (in) File name, which may start with a ``~''.
Tcl_DString *bufferPtr (in/out) If needed, this dynamic string is used to store the new file
name. At the time of the call it should be uninitialized or
free. The caller must eventually call Tcl_DStringFree to free
up anything stored here.
____________________________________________________________________________________________________________
DESCRIPTION
This utility procedure translates a file name to a form suitable for passing to the local operating
system. It converts network names into native form and does tilde substitution.
If Tcl_TranslateFileName has to do tilde substitution or translate the name then it uses the dynamic
string at *bufferPtr to hold the new string it generates. After Tcl_TranslateFileName returns a non-NULL nonNULL
NULL result, the caller must eventually invoke Tcl_DStringFree to free any information placed in
*bufferPtr. The caller need not know whether or not Tcl_TranslateFileName actually used the string;
Tcl_TranslateFileName initializes *bufferPtr even if it doesn't use it, so the call to
Tcl_DStringFree will be safe in either case.
If an error occurs (e.g. because there was no user by the given name) then NULL is returned and an
error message will be left in the interpreter's result. When an error occurs, Tcl_TranslateFileName
frees the dynamic string itself so that the caller need not call Tcl_DStringFree.
The caller is responsible for making sure that the interpreter's result has its default empty value
when Tcl_TranslateFileName is invoked.
SEE ALSO
filename
KEYWORDS
file name, home directory, tilde, translate, user
Tcl 8.1 Tcl_TranslateFileName(3)
|