Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Tcl_TranslateFileName(3)    Tcl	Library	Procedures    Tcl_TranslateFileName(3)

______________________________________________________________________________

NAME
       Tcl_TranslateFileName - convert file name to native form

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

       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 any-
					    thing stored here.
______________________________________________________________________________

DESCRIPTION
       This utility procedure translates a file	name  to  a  platform-specific
       form which, after being converted to the	appropriate encoding, is suit-
       able for	passing	to the local operating system.	In particular, it con-
       verts network names into	native form.

       However,	 with  the  advent  of	the  newer Tcl_FSGetNormalizedPath and
       Tcl_FSGetNativePath, there is no	longer any need	to use this procedure.
       In particular, Tcl_FSGetNativePath performs all the necessary  transla-
       tion  and  encoding conversion, is virtual-filesystem aware, and	caches
       the native result for  faster  repeated	calls.	 Finally  Tcl_FSGetNa-
       tivePath	does not require you to	free anything afterwards.

       If Tcl_TranslateFileName	has to translate the name then it uses the dy-
       namic  string at	*bufferPtr to hold the new string it generates.	 After
       Tcl_TranslateFileName returns a non-NULL	result,	the caller must	 even-
       tually  invoke  Tcl_DStringFree	to  free  any  information  placed  in
       *bufferPtr.  The	caller need not	know whether or	not Tcl_TranslateFile-
       Name  actually  used  the  string;   Tcl_TranslateFileName  initializes
       *bufferPtr  even	 if it does not	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	inter-
       preter'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(n)

KEYWORDS
       file name, home directory, translate, user

Tcl				      8.1	      Tcl_TranslateFileName(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Tcl_TranslateFileName.tcl90&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help