Diff
Not logged in

Differences From Artifact [ccee6d283b]:

To Artifact [1c85d780f8]:


2992
2993
2994
2995
2996
2997
2998

2999
3000
3001
3002
3003
3004
3005
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006







+







	Tcl_Obj *normDirName = Tcl_FSGetNormalizedPath(NULL, pathPtr);

	if (normDirName == NULL) {
	    /* Not really true, but what else to do? */
	    Tcl_SetErrno(ENOENT);
	    return -1;
	}
	if (normDirName != pathPtr) { Tcl_IncrRefCount(normDirName); }

	if (fsPtr == &tclNativeFilesystem) {
	    /*
	     * For the native filesystem, we keep a cache of the native
	     * representation of the cwd. But, we want to do that for the
	     * exact format that is returned by 'getcwd' (so that we can later
	     * compare the two representations for equality), which might not
3025
3026
3027
3028
3029
3030
3031

3032
3033
3034
3035
3036
3037
3038
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040







+







	    cd = (*proc2)(oldcd);
	    if (cd != oldcd) {
		FsUpdateCwd(normDirName, cd);
	    }
	} else {
	    FsUpdateCwd(normDirName, NULL);
	}
	if (normDirName != pathPtr) { Tcl_DecrRefCount(normDirName); }
    }

    return retVal;
}

/*
 *----------------------------------------------------------------------