• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/tcl-105/tcl/tcl/generic/

Lines Matching refs:pathPtr

26 static void		FreeFsPathInternalRep(Tcl_Obj *pathPtr);
27 static void UpdateStringOfFsPath(Tcl_Obj *pathPtr);
28 static int SetFsPathFromAny(Tcl_Interp *interp, Tcl_Obj *pathPtr);
31 static Tcl_Obj * GetExtension(Tcl_Obj *pathPtr);
114 #define PATHOBJ(pathPtr) ((FsPath *) (pathPtr)->internalRep.otherValuePtr)
115 #define SETPATHOBJ(pathPtr,fsPathPtr) \
116 ((pathPtr)->internalRep.otherValuePtr = (void *) (fsPathPtr))
117 #define PATHFLAGS(pathPtr) (PATHOBJ(pathPtr)->flags)
137 * pathPtr may have a refCount of zero, or may be a shared object.
158 Tcl_Obj *pathPtr, /* Absolute path to normalize */
171 dirSep = TclGetString(pathPtr);
239 const char *path = TclGetString(pathPtr);
264 const char *path = TclGetString(pathPtr);
379 retVal = pathPtr;
396 retVal = Tcl_DuplicateObj(pathPtr);
470 Tcl_Obj *pathPtr)
472 return TclFSGetPathType(pathPtr, NULL, NULL);
501 Tcl_Obj *pathPtr,
507 if (Tcl_FSConvertToPathType(NULL, pathPtr) != TCL_OK) {
508 return TclGetPathType(pathPtr, filesystemPtrPtr, driveNameLengthPtr,
512 fsPathPtr = PATHOBJ(pathPtr);
514 return TclGetPathType(pathPtr, filesystemPtrPtr, driveNameLengthPtr,
518 if (PATHFLAGS(pathPtr) == 0) {
523 return TclGetPathType(pathPtr, filesystemPtrPtr, driveNameLengthPtr,
569 Tcl_Obj *pathPtr, /* Path to take dirname of */
572 if (pathPtr->typePtr == &tclFsPathType) {
573 FsPath *fsPathPtr = PATHOBJ(pathPtr);
576 && (PATHFLAGS(pathPtr) != 0)) {
665 Tcl_IncrRefCount(pathPtr);
666 return pathPtr;
703 return GetExtension(pathPtr);
708 fileName = Tcl_GetStringFromObj(pathPtr, &length);
711 Tcl_IncrRefCount(pathPtr);
712 return pathPtr;
729 splitPtr = Tcl_FSSplitPath(pathPtr, &splitElements);
731 if (splitElements == 1 && TclGetString(pathPtr)[0] == '~') {
735 norm = Tcl_FSGetNormalizedPath(interp, pathPtr);
749 (Tcl_FSGetPathType(pathPtr) == TCL_PATH_RELATIVE))) {
764 (Tcl_FSGetPathType(pathPtr) == TCL_PATH_RELATIVE)) {
783 Tcl_Obj *pathPtr)
788 tail = TclGetString(pathPtr);
1144 Tcl_Obj *pathPtr) /* Object to convert to a valid, current path
1157 if (pathPtr->typePtr == &tclFsPathType) {
1158 if (TclFSEpochOk(PATHOBJ(pathPtr)->filesystemEpoch)) {
1162 if (pathPtr->bytes == NULL) {
1163 UpdateStringOfFsPath(pathPtr);
1165 FreeFsPathInternalRep(pathPtr);
1166 pathPtr->typePtr = NULL;
1169 return Tcl_ConvertToType(interp, pathPtr, &tclFsPathType);
1174 * FsPath *fsPathPtr = PATHOBJ(pathPtr);
1175 * if (fsPathPtr->cwdPtr == NULL || PATHFLAGS(pathPtr) != 0) {
1181 * if (pathPtr->bytes == NULL) {
1182 * UpdateStringOfFsPath(pathPtr);
1184 * FreeFsPathInternalRep(pathPtr);
1185 * pathPtr->typePtr = NULL;
1186 * return Tcl_ConvertToType(interp, pathPtr, &tclFsPathType);
1280 Tcl_Obj *pathPtr;
1304 pathPtr = AppendPath(dirPtr, tail);
1306 return pathPtr;
1311 pathPtr = Tcl_NewObj();
1327 SETPATHOBJ(pathPtr, fsPathPtr);
1328 PATHFLAGS(pathPtr) = TCLPATH_APPENDED;
1329 pathPtr->typePtr = &tclFsPathType;
1330 pathPtr->bytes = NULL;
1331 pathPtr->length = 0;
1350 PATHFLAGS(pathPtr) |= TCLPATH_NEEDNORM;
1369 PATHFLAGS(pathPtr) |= TCLPATH_NEEDNORM;
1372 return pathPtr;
1444 Tcl_Obj *pathPtr, /* The path we have. */
1451 if (pathPtr->typePtr == &tclFsPathType) {
1452 FsPath *fsPathPtr = PATHOBJ(pathPtr);
1454 if (PATHFLAGS(pathPtr) != 0
1456 pathPtr = fsPathPtr->normPathPtr;
1482 if (pathPtr->typePtr != NULL) {
1483 if (pathPtr->bytes == NULL) {
1484 if (pathPtr->typePtr->updateStringProc == NULL) {
1492 pathPtr->typePtr->updateStringProc(pathPtr);
1494 TclFreeIntRep(pathPtr);
1498 * Now pathPtr is a string object.
1507 fsPathPtr->translatedPathPtr = pathPtr;
1515 SETPATHOBJ(pathPtr, fsPathPtr);
1516 PATHFLAGS(pathPtr) = 0;
1517 pathPtr->typePtr = &tclFsPathType;
1519 return pathPtr;
1554 tempStr = Tcl_GetStringFromObj(pathPtr, &len);
1580 Tcl_Obj *pathPtr, /* The object to convert. */
1587 if (pathPtr->typePtr == &tclFsPathType) {
1595 if (pathPtr->typePtr != NULL) {
1596 if (pathPtr->bytes == NULL) {
1597 if (pathPtr->typePtr->updateStringProc == NULL) {
1605 pathPtr->typePtr->updateStringProc(pathPtr);
1607 TclFreeIntRep(pathPtr);
1622 fsPathPtr->normPathPtr = pathPtr;
1628 SETPATHOBJ(pathPtr, fsPathPtr);
1629 PATHFLAGS(pathPtr) = 0;
1630 pathPtr->typePtr = &tclFsPathType;
1666 Tcl_Obj *pathPtr;
1672 pathPtr = TclFSInternalToNormalized(fromFilesystem, clientData,
1674 if (pathPtr == NULL) {
1683 if (pathPtr->typePtr != NULL) {
1684 if (pathPtr->bytes == NULL) {
1685 if (pathPtr->typePtr->updateStringProc == NULL) {
1688 pathPtr->typePtr->updateStringProc(pathPtr);
1690 TclFreeIntRep(pathPtr);
1701 fsPathPtr->normPathPtr = pathPtr;
1708 SETPATHOBJ(pathPtr, fsPathPtr);
1709 PATHFLAGS(pathPtr) = 0;
1710 pathPtr->typePtr = &tclFsPathType;
1712 return pathPtr;
1738 Tcl_Obj *pathPtr)
1743 if (Tcl_FSConvertToPathType(interp, pathPtr) != TCL_OK) {
1746 srcFsPathPtr = PATHOBJ(pathPtr);
1748 if (PATHFLAGS(pathPtr) != 0) {
1813 Tcl_Obj *pathPtr)
1815 Tcl_Obj *transPtr = Tcl_FSGetTranslatedPath(interp, pathPtr);
1853 Tcl_Obj *pathPtr)
1857 if (Tcl_FSConvertToPathType(interp, pathPtr) != TCL_OK) {
1860 fsPathPtr = PATHOBJ(pathPtr);
1862 if (PATHFLAGS(pathPtr) != 0) {
1878 if (pathPtr->bytes == NULL) {
1879 UpdateStringOfFsPath(pathPtr);
1895 if (PATHFLAGS(pathPtr) & TCLPATH_NEEDNORM) {
1971 PATHFLAGS(pathPtr) = 0;
1980 if (pathPtr->bytes == NULL) {
1981 UpdateStringOfFsPath(pathPtr);
1983 FreeFsPathInternalRep(pathPtr);
1984 pathPtr->typePtr = NULL;
1985 if (Tcl_ConvertToType(interp, pathPtr, &tclFsPathType) != TCL_OK) {
1988 fsPathPtr = PATHOBJ(pathPtr);
1994 copy = AppendPath(fsPathPtr->cwdPtr, pathPtr);
2050 * We don't ask for the type of 'pathPtr' here, because that is
2110 TclGetString(pathPtr))) {
2122 fsPathPtr->normPathPtr = pathPtr;
2165 Tcl_Obj *pathPtr,
2170 if (Tcl_FSConvertToPathType(NULL, pathPtr) != TCL_OK) {
2173 srcFsPathPtr = PATHOBJ(pathPtr);
2199 Tcl_FSGetFileSystemForPath(pathPtr);
2208 srcFsPathPtr = PATHOBJ(pathPtr);
2222 const Tcl_Filesystem *actualFs = Tcl_FSGetFileSystemForPath(pathPtr);
2225 return Tcl_FSGetInternalRep(pathPtr, fsPtr);
2239 nativePathPtr = (*proc)(pathPtr);
2240 srcFsPathPtr = PATHOBJ(pathPtr);
2253 * This will ensure the pathPtr is up to date and can be converted into a
2268 Tcl_Obj *pathPtr,
2273 if (pathPtr->typePtr != &tclFsPathType) {
2277 srcFsPathPtr = PATHOBJ(pathPtr);
2289 if (pathPtr->bytes == NULL) {
2290 UpdateStringOfFsPath(pathPtr);
2292 FreeFsPathInternalRep(pathPtr);
2293 pathPtr->typePtr = NULL;
2294 if (SetFsPathFromAny(NULL, pathPtr) != TCL_OK) {
2297 srcFsPathPtr = PATHOBJ(pathPtr);
2329 Tcl_Obj *pathPtr,
2337 * Make sure pathPtr is of the correct type.
2340 if (pathPtr->typePtr != &tclFsPathType) {
2341 if (SetFsPathFromAny(NULL, pathPtr) != TCL_OK) {
2346 srcFsPathPtr = PATHOBJ(pathPtr);
2435 Tcl_Obj *pathPtr) /* The object to convert. */
2446 if (pathPtr->typePtr == &tclFsPathType) {
2464 name = Tcl_GetStringFromObj(pathPtr, &len);
2553 Tcl_Obj *parts = TclpNativeSplitPath(pathPtr, NULL);
2584 transPtr = Tcl_FSJoinToPath(pathPtr, 0, NULL);
2619 if (transPtr != pathPtr) {
2632 TclFreeIntRep(pathPtr);
2633 SETPATHOBJ(pathPtr, fsPathPtr);
2634 PATHFLAGS(pathPtr) = 0;
2635 pathPtr->typePtr = &tclFsPathType;
2648 Tcl_Obj *pathPtr) /* Path object with internal rep to free. */
2650 FsPath *fsPathPtr = PATHOBJ(pathPtr);
2653 if (fsPathPtr->translatedPathPtr != pathPtr) {
2658 if (fsPathPtr->normPathPtr != pathPtr) {
2769 register Tcl_Obj *pathPtr) /* path obj with string rep to update. */
2771 FsPath *fsPathPtr = PATHOBJ(pathPtr);
2775 if (PATHFLAGS(pathPtr) == 0 || fsPathPtr->cwdPtr == NULL) {
2781 pathPtr->bytes = Tcl_GetStringFromObj(copy, &cwdLen);
2782 pathPtr->length = cwdLen;
2812 Tcl_Obj *pathPtr,
2822 if (pathPtr->typePtr == &tclFsPathType) {
2823 if (pathPtr->bytes != NULL && pathPtr->bytes[0] == '\0') {
2843 (void) Tcl_GetStringFromObj(pathPtr, &len);