tclPathObj.c File Reference#include "tclInt.h"
#include "tclFileSystem.h"
Go to the source code of this file.
|
Data Structures |
struct | FsPath |
Defines |
#define | TCLPATH_APPENDED 1 |
#define | PATHOBJ(pathPtr) ((FsPath *) (pathPtr)->internalRep.otherValuePtr) |
#define | SETPATHOBJ(pathPtr, fsPathPtr) ((pathPtr)->internalRep.otherValuePtr = (VOID *) (fsPathPtr)) |
#define | PATHFLAGS(pathPtr) (PATHOBJ(pathPtr)->flags) |
Functions |
Tcl_Obj * | TclFSNormalizeAbsolutePath (Tcl_Interp *interp, Tcl_Obj *pathPtr, ClientData *clientDataPtr) |
Tcl_PathType | Tcl_FSGetPathType (Tcl_Obj *pathPtr) |
Tcl_PathType | TclFSGetPathType (Tcl_Obj *pathPtr, Tcl_Filesystem **filesystemPtrPtr, int *driveNameLengthPtr) |
Tcl_Obj * | TclPathPart (Tcl_Interp *interp, Tcl_Obj *pathPtr, Tcl_PathPart portion) |
Tcl_Obj * | Tcl_FSJoinPath (Tcl_Obj *listObj, int elements) |
int | Tcl_FSConvertToPathType (Tcl_Interp *interp, Tcl_Obj *pathPtr) |
Tcl_Obj * | TclNewFSPathObj (Tcl_Obj *dirPtr, const char *addStrRep, int len) |
Tcl_Obj * | TclFSMakePathRelative (Tcl_Interp *interp, Tcl_Obj *pathPtr, Tcl_Obj *cwdPtr) |
int | TclFSMakePathFromNormalized (Tcl_Interp *interp, Tcl_Obj *pathPtr, ClientData nativeRep) |
Tcl_Obj * | Tcl_FSNewNativePath (Tcl_Filesystem *fromFilesystem, ClientData clientData) |
Tcl_Obj * | Tcl_FSGetTranslatedPath (Tcl_Interp *interp, Tcl_Obj *pathPtr) |
const char * | Tcl_FSGetTranslatedStringPath (Tcl_Interp *interp, Tcl_Obj *pathPtr) |
Tcl_Obj * | Tcl_FSGetNormalizedPath (Tcl_Interp *interp, Tcl_Obj *pathPtr) |
ClientData | Tcl_FSGetInternalRep (Tcl_Obj *pathPtr, Tcl_Filesystem *fsPtr) |
int | TclFSEnsureEpochOk (Tcl_Obj *pathPtr, Tcl_Filesystem **fsPtrPtr) |
void | TclFSSetPathDetails (Tcl_Obj *pathPtr, FilesystemRecord *fsRecPtr, ClientData clientData) |
int | Tcl_FSEqualPaths (Tcl_Obj *firstPtr, Tcl_Obj *secondPtr) |
int | TclNativePathInFilesystem (Tcl_Obj *pathPtr, ClientData *clientDataPtr) |
Define Documentation
#define SETPATHOBJ |
( |
pathPtr, |
|
|
fsPathPtr |
|
) |
((pathPtr)->internalRep.otherValuePtr = (VOID *) (fsPathPtr)) |
#define TCLPATH_APPENDED 1 |
Function Documentation
Definition at line 1111 of file tclPathObj.c.
References PATHOBJ, Tcl_ConvertToType(), TCL_OK, TclFSEpochOk(), and Tcl_Obj::typePtr.
Referenced by Tcl_CdObjCmd(), Tcl_FileObjCmd(), Tcl_FSGetInternalRep(), Tcl_FSGetNormalizedPath(), Tcl_FSGetTranslatedPath(), Tcl_LoadObjCmd(), Tcl_UnloadObjCmd(), TclFileAttrsCmd(), TclFileDeleteCmd(), TclFileMakeDirsCmd(), and TclFSGetPathType().
Definition at line 1987 of file tclPathObj.c.
References Tcl_Filesystem::createInternalRepProc, FilesystemRecord::fsPtr, FsPath::fsRecPtr, FsPath::nativePathPtr, PATHOBJ, Tcl_FSConvertToPathType(), Tcl_FSGetFileSystemForPath(), Tcl_FSGetInternalRep(), and TCL_OK.
Referenced by Tcl_FSGetInternalRep(), Tcl_FSGetNativePath(), and TclLoadFile().
Definition at line 1682 of file tclPathObj.c.
References Tcl_Obj::bytes, FsPath::cwdPtr, Tcl_Filesystem::dupInternalRepProc, FilesystemRecord::fsPtr, FsPath::fsRecPtr, FsPath::nativePathPtr, FsPath::normPathPtr, PATHFLAGS, PATHOBJ, Tcl_AppendObjToObj(), Tcl_AppendToObj(), Tcl_ConvertToType(), Tcl_DecrRefCount, Tcl_DuplicateObj(), Tcl_FSConvertToPathType(), Tcl_FSGetCwd(), Tcl_FSGetNormalizedPath(), Tcl_FSGetPathType(), Tcl_FSJoinToPath(), Tcl_GetStringFromObj(), Tcl_IncrRefCount, TCL_OK, TCL_PATH_RELATIVE, TCL_PATH_VOLUME_RELATIVE, TCL_PLATFORM_UNIX, TCL_PLATFORM_WINDOWS, TclDecrRefCount, TclFSCwdPointerEquals(), TclFSNormalizeAbsolutePath(), TclFSNormalizeToUniquePath(), TclGetString, tclPlatform, TclWinVolumeRelativeNormalize(), FsPath::translatedPathPtr, and Tcl_Obj::typePtr.
Referenced by Tcl_FileObjCmd(), Tcl_FSChdir(), Tcl_FSEqualPaths(), Tcl_FSEvalFileEx(), Tcl_FSGetNormalizedPath(), Tcl_FSGetTranslatedPath(), Tcl_FSOpenFileChannel(), Tcl_FSRemoveDirectory(), TclEvalEx(), TclNativeCreateNativeRep(), and TclPathPart().
Definition at line 1586 of file tclPathObj.c.
References FsPath::normPathPtr, PATHFLAGS, PATHOBJ, Tcl_FSConvertToPathType(), Tcl_FSGetNormalizedPath(), Tcl_IncrRefCount, TCL_OK, and FsPath::translatedPathPtr.
Referenced by Tcl_FSAccess(), Tcl_FSGetTranslatedStringPath(), Tcl_FSOpenFileChannel(), Tcl_FSStat(), Tcl_TranslateFileName(), TclNativeCreateNativeRep(), TclpMatchInDirectory(), TclpObjCopyDirectory(), and TclpObjRemoveDirectory().
Definition at line 805 of file tclPathObj.c.
References Tcl_Obj::bytes, Tcl_Filesystem::filesystemSeparatorProc, FilesystemRecord::fsPtr, Tcl_AppendToObj(), Tcl_DecrRefCount, Tcl_DuplicateObj(), Tcl_GetString(), Tcl_GetStringFromObj(), Tcl_ListObjIndex(), Tcl_ListObjLength(), Tcl_NewObj(), Tcl_NewStringObj(), TCL_OK, TCL_PATH_RELATIVE, TCL_PLATFORM_UNIX, TCL_PLATFORM_WINDOWS, Tcl_SetObjLength(), TclDecrRefCount, TclGetPathType(), TclGetString, tclNativeFilesystem, TclNewFSPathObj(), tclPlatform, TclpNativeJoinPath(), and Tcl_Obj::typePtr.
Referenced by Tcl_FSJoinToPath(), Tcl_JoinPath(), TclFileMakeDirsCmd(), and TclPathPart().
Definition at line 1513 of file tclPathObj.c.
References Tcl_Obj::bytes, ckalloc, FsPath::cwdPtr, FilesystemRecord::fileRefCount, ThreadSpecificData::filesystemEpoch, FsPath::filesystemEpoch, FsPath::fsRecPtr, FsPath::nativePathPtr, FsPath::normPathPtr, PATHFLAGS, SETPATHOBJ, TCL_TSD_INIT, TclFreeIntRep, tclFsDataKey, TclFSInternalToNormalized(), FsPath::translatedPathPtr, Tcl_Obj::typePtr, and Tcl_ObjType::updateStringProc.
int TclFSMakePathFromNormalized |
( |
Tcl_Interp * |
interp, |
|
|
Tcl_Obj * |
pathPtr, |
|
|
ClientData |
nativeRep | |
|
) |
| | |
Definition at line 1430 of file tclPathObj.c.
References Tcl_Obj::bytes, ckalloc, FsPath::cwdPtr, ThreadSpecificData::filesystemEpoch, FsPath::filesystemEpoch, FsPath::fsRecPtr, FsPath::nativePathPtr, FsPath::normPathPtr, PATHFLAGS, SETPATHOBJ, Tcl_AppendResult(), TCL_ERROR, TCL_OK, Tcl_ResetResult(), TCL_TSD_INIT, TclFreeIntRep, tclFsDataKey, FsPath::translatedPathPtr, Tcl_Obj::typePtr, and Tcl_ObjType::updateStringProc.
Referenced by TclFSNormalizeAbsolutePath().
Definition at line 1305 of file tclPathObj.c.
References Tcl_Obj::bytes, ckalloc, FsPath::cwdPtr, ThreadSpecificData::filesystemEpoch, FsPath::filesystemEpoch, FsPath::fsRecPtr, FsPath::nativePathPtr, FsPath::normPathPtr, PATHFLAGS, PATHOBJ, SETPATHOBJ, Tcl_AppendResult(), Tcl_GetString(), Tcl_GetStringFromObj(), Tcl_IncrRefCount, Tcl_NewStringObj(), TCL_PLATFORM_UNIX, TCL_PLATFORM_WINDOWS, Tcl_ResetResult(), TCL_TSD_INIT, TclFreeIntRep, tclFsDataKey, tclPlatform, FsPath::translatedPathPtr, Tcl_Obj::typePtr, and Tcl_ObjType::updateStringProc.
Referenced by Tcl_FSMatchInDirectory().
Definition at line 153 of file tclPathObj.c.
References Tcl_AppendObjToObj(), Tcl_AppendToObj(), Tcl_DuplicateObj(), Tcl_FSGetPathType(), Tcl_FSLink(), Tcl_GetStringFromObj(), Tcl_IncrRefCount, Tcl_IsShared, Tcl_NewStringObj(), TCL_PATH_RELATIVE, TCL_PLATFORM_UNIX, TCL_PLATFORM_WINDOWS, Tcl_SetObjLength(), TclDecrRefCount, TclFSMakePathFromNormalized(), TclFSNormalizeToUniquePath(), TclGetString, and tclPlatform.
Referenced by Tcl_FSGetCwd(), and Tcl_FSGetNormalizedPath().
int TclNativePathInFilesystem |
( |
Tcl_Obj * |
pathPtr, |
|
|
ClientData * |
clientDataPtr | |
|
) |
| | |
Tcl_Obj* TclNewFSPathObj |
( |
Tcl_Obj * |
dirPtr, |
|
|
const char * |
addStrRep, |
|
|
int |
len | |
|
) |
| | |
Definition at line 1241 of file tclPathObj.c.
References Tcl_Obj::bytes, ckalloc, FsPath::cwdPtr, ThreadSpecificData::filesystemEpoch, FsPath::filesystemEpoch, FsPath::fsRecPtr, Tcl_Obj::length, FsPath::nativePathPtr, FsPath::normPathPtr, PATHFLAGS, SETPATHOBJ, Tcl_IncrRefCount, Tcl_NewObj(), Tcl_NewStringObj(), TCL_TSD_INIT, tclFsDataKey, TCLPATH_APPENDED, FsPath::translatedPathPtr, and Tcl_Obj::typePtr.
Referenced by Tcl_FSJoinPath(), and TclpMatchInDirectory().
Definition at line 550 of file tclPathObj.c.
References Tcl_Obj::bytes, FsPath::cwdPtr, FsPath::filesystemEpoch, Tcl_Obj::length, FsPath::normPathPtr, PATHFLAGS, PATHOBJ, Tcl_DuplicateObj(), Tcl_FSGetNormalizedPath(), Tcl_FSGetPathType(), Tcl_FSJoinPath(), Tcl_FSSplitPath(), Tcl_GetStringFromObj(), Tcl_IncrRefCount, Tcl_IsShared, Tcl_ListObjIndex(), Tcl_NewObj(), Tcl_NewStringObj(), Tcl_Panic(), TCL_PATH_DIRNAME, TCL_PATH_EXTENSION, TCL_PATH_RELATIVE, TCL_PATH_ROOT, TCL_PATH_TAIL, TCL_PLATFORM_WINDOWS, Tcl_SetObjLength(), TclDecrRefCount, TclFSEpochOk(), TclGetExtension(), TclGetString, TclNewLiteralStringObj, tclPlatform, and Tcl_Obj::typePtr.
Referenced by Tcl_FileObjCmd(), Tcl_FSRemoveDirectory(), and TclpMatchInDirectory().
Generated on Wed Mar 12 12:18:33 2008 by
1.5.1
|