2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
|
* what modes to create it? */
{
const Tcl_Filesystem *fsPtr;
Tcl_Channel retVal = NULL;
/*
* We need this just to ensure we return the correct error messages under
* some circumstances.
*/
if (Tcl_FSGetNormalizedPath(interp, pathPtr) == NULL) {
return NULL;
}
fsPtr = Tcl_FSGetFileSystemForPath(pathPtr);
if (fsPtr != NULL && fsPtr->openFileChannelProc != NULL) {
int mode, seekFlag, binary;
|
|
>
>
>
>
|
>
|
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
|
* what modes to create it? */
{
const Tcl_Filesystem *fsPtr;
Tcl_Channel retVal = NULL;
/*
* We need this just to ensure we return the correct error messages under
* some circumstances (relative paths only), so because the normalization
* is very expensive, don't invoke it for native or absolute paths.
*/
if (
!TclFSCwdIsNative() &&
Tcl_FSGetPathType(pathPtr) != TCL_PATH_ABSOLUTE &&
Tcl_FSGetNormalizedPath(interp, pathPtr) == NULL
) {
return NULL;
}
fsPtr = Tcl_FSGetFileSystemForPath(pathPtr);
if (fsPtr != NULL && fsPtr->openFileChannelProc != NULL) {
int mode, seekFlag, binary;
|