Tcl_TranslateFileName(3T)cl

Tcl_TranslateFileName(3T)cl

Tcl_TraceVar2 Home Page Subroutines Index Tcl_UnlinkVar


_________________________________________________________________

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.

       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  uninitial-
                                            ized  or  empty.  The
                                            caller  must  eventu-
                                            ally             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  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 at interp-&gt;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
       interp-&gt;result has its default empty value when Tcl_Trans-
       lateFileName is invoked.

SEE ALSO
       filename

KEYWORDS
       file name, home directory, tilde, translate, user

Tcl_TraceVar2 Home Page Subroutines Index Tcl_UnlinkVar