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  free.   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
       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  inter­
       preter's   result   has   its  default  empty  value  when
       Tcl_TranslateFileName is invoked.



SEE ALSO

       filename



KEYWORDS

       file name, home directory, tilde, translate, user