Diff
Not logged in

Differences From Artifact [535207355e]:

To Artifact [579aeb3495]:


1047
1048
1049
1050
1051
1052
1053
1054
1055


1056
1057
1058
1059
1060
1061
1062
1063
1047
1048
1049
1050
1051
1052
1053


1054
1055

1056
1057
1058
1059
1060
1061
1062







-
-
+
+
-







     * generic code because otherwise every filesystem implementation of
     * Tcl_FSMatchInDirectory has to do it.
     */

    cwd = Tcl_FSGetCwd(NULL);
    if (cwd == NULL) {
	if (interp != NULL) {
	    Tcl_SetObjResult(interp, Tcl_NewStringObj(
		    "glob couldn't determine the current working directory",
	    TclPrintfResult(interp,
		    "glob couldn't determine the current working directory");
		    -1));
	}
	return TCL_ERROR;
    }

    fsPtr = Tcl_FSGetFileSystemForPath(cwd);
    if (fsPtr != NULL && fsPtr->matchInDirectoryProc != NULL) {
	TclNewObj(tmpResultPtr);
1639
1640
1641
1642
1643
1644
1645
1646
1647


1648
1649
1650
1651
1652
1653
1654
1655
1638
1639
1640
1641
1642
1643
1644


1645
1646

1647
1648
1649
1650
1651
1652
1653







-
-
+
+
-







	}
    }

    Tcl_Free((void *)modeArgv);

    if (!gotRW) {
	if (interp != NULL) {
	    Tcl_SetObjResult(interp, Tcl_NewStringObj(
		    "access mode must include either RDONLY, RDWR, or WRONLY",
	    TclPrintfResult(interp,
		    "access mode must include either RDONLY, RDWR, or WRONLY");
		    -1));
	}
	return -1;
    }
    return mode;
}

/*
3276
3277
3278
3279
3280
3281
3282
3283
3284

3285
3286
3287
3288
3289
3290
3291
3274
3275
3276
3277
3278
3279
3280


3281
3282
3283
3284
3285
3286
3287
3288







-
-
+







	/*
	 * Try to delete the file we probably created and then exit.
	 */

	Tcl_FSDeleteFile(copyToPtr);
	Tcl_DecrRefCount(copyToPtr);
	if (interp) {
	    Tcl_SetObjResult(interp, Tcl_NewStringObj(
		    "couldn't load from current filesystem", -1));
	    TclPrintfResult(interp, "couldn't load from current filesystem");
	}
	return TCL_ERROR;
    }

    if (TclCrossFilesystemCopy(interp, pathPtr, copyToPtr) != TCL_OK) {
	Tcl_FSDeleteFile(copyToPtr);
	Tcl_DecrRefCount(copyToPtr);
3577
3578
3579
3580
3581
3582
3583
3584
3585


3586
3587
3588
3589
3590
3591
3592
3593
3574
3575
3576
3577
3578
3579
3580


3581
3582

3583
3584
3585
3586
3587
3588
3589







-
-
+
+
-







int
Tcl_FSUnloadFile(
    Tcl_Interp *interp,		/* The relevant interpreter. */
    Tcl_LoadHandle handle)	/* A handle for the object to unload. */
{
    if (handle->unloadFileProcPtr == NULL) {
	if (interp != NULL) {
	    Tcl_SetObjResult(interp, Tcl_NewStringObj(
		    "cannot unload: filesystem does not support unloading",
	    TclPrintfResult(interp,
		    "cannot unload: filesystem does not support unloading");
		    -1));
	}
	return TCL_ERROR;
    }
    if (handle->unloadFileProcPtr != NULL) {
	handle->unloadFileProcPtr(handle);
    }
    return TCL_OK;