diff options
author | vincentdarley <vincentdarley> | 2001-09-04 18:06:34 (GMT) |
---|---|---|
committer | vincentdarley <vincentdarley> | 2001-09-04 18:06:34 (GMT) |
commit | 6fca271a5115b8b8e94f10dce8efb41fcedb53a9 (patch) | |
tree | fe242e0e386c2472085adf41540fa813c334a000 /win | |
parent | baf84f971d4274324372aab6f0fd968c63d7dcd4 (diff) | |
download | tcl-6fca271a5115b8b8e94f10dce8efb41fcedb53a9.zip tcl-6fca271a5115b8b8e94f10dce8efb41fcedb53a9.tar.gz tcl-6fca271a5115b8b8e94f10dce8efb41fcedb53a9.tar.bz2 |
minor fs, vfs fixes
Diffstat (limited to 'win')
-rw-r--r-- | win/tclWinFCmd.c | 10 | ||||
-rw-r--r-- | win/tclWinLoad.c | 14 |
2 files changed, 15 insertions, 9 deletions
diff --git a/win/tclWinFCmd.c b/win/tclWinFCmd.c index a04fc45..1832a76 100644 --- a/win/tclWinFCmd.c +++ b/win/tclWinFCmd.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinFCmd.c,v 1.11 2001/08/30 08:53:15 vincentdarley Exp $ + * RCS: @(#) $Id: tclWinFCmd.c,v 1.12 2001/09/04 18:06:35 vincentdarley Exp $ */ #include "tclWinInt.h" @@ -92,7 +92,7 @@ static int DoCopyFile(CONST TCHAR *srcPtr, CONST TCHAR *dstPtr); static int DoCreateDirectory(CONST TCHAR *pathPtr); static int DoDeleteFile(CONST TCHAR *pathPtr); static int DoRemoveJustDirectory(CONST TCHAR *nativeSrc, - int recursive, Tcl_DString *errorPtr); + int ignoreError, Tcl_DString *errorPtr); static int DoRemoveDirectory(Tcl_DString *pathPtr, int recursive, Tcl_DString *errorPtr); static int DoRenameFile(CONST TCHAR *nativeSrc, CONST TCHAR *dstPtr); @@ -747,7 +747,7 @@ TclpObjRemoveDirectory(pathPtr, recursive, errorPtr) Tcl_DStringFree(&native); } else { ret = DoRemoveJustDirectory(Tcl_FSGetNativePath(pathPtr), - recursive, &ds); + 0, &ds); } if (ret != TCL_OK) { int len = Tcl_DStringLength(&ds); @@ -764,7 +764,7 @@ static int DoRemoveJustDirectory( CONST TCHAR *nativePath, /* Pathname of directory to be removed * (native). */ - int recursive, /* If non-zero, don't initialize the + int ignoreError, /* If non-zero, don't initialize the * errorPtr under some circumstances * on return. */ Tcl_DString *errorPtr) /* If non-NULL, uninitialized or free @@ -877,7 +877,7 @@ DoRemoveJustDirectory( Tcl_SetErrno(EEXIST); } - if ((recursive != 0) && (Tcl_GetErrno() == EEXIST)) { + if ((ignoreError != 0) && (Tcl_GetErrno() == EEXIST)) { /* * If we're being recursive, this error may actually * be ok, so we don't want to initialise the errorPtr diff --git a/win/tclWinLoad.c b/win/tclWinLoad.c index c0923d5..50d14c9 100644 --- a/win/tclWinLoad.c +++ b/win/tclWinLoad.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinLoad.c,v 1.7 2001/08/30 08:53:15 vincentdarley Exp $ + * RCS: @(#) $Id: tclWinLoad.c,v 1.8 2001/09/04 18:06:35 vincentdarley Exp $ */ #include "tclWinInt.h" @@ -36,7 +36,8 @@ */ int -TclpLoadFile(interp, pathPtr, sym1, sym2, proc1Ptr, proc2Ptr, clientDataPtr) +TclpLoadFile(interp, pathPtr, sym1, sym2, proc1Ptr, proc2Ptr, + clientDataPtr, unloadProcPtr) Tcl_Interp *interp; /* Used for error reporting. */ Tcl_Obj *pathPtr; /* Name of the file containing the desired * code. */ @@ -47,7 +48,11 @@ TclpLoadFile(interp, pathPtr, sym1, sym2, proc1Ptr, proc2Ptr, clientDataPtr) * to sym1 and sym2. */ ClientData *clientDataPtr; /* Filled with token for dynamically loaded * file which will be passed back to - * TclpUnloadFile() to unload the file. */ + * (*unloadProcPtr)() to unload the file. */ + Tcl_FSUnloadFileProc **unloadProcPtr; + /* Filled with address of Tcl_FSUnloadFileProc + * function which should be used for + * this file. */ { HINSTANCE handle; TCHAR *nativeName; @@ -109,8 +114,9 @@ TclpLoadFile(interp, pathPtr, sym1, sym2, proc1Ptr, proc2Ptr, clientDataPtr) (char *) NULL); } return TCL_ERROR; + } else { + *unloadProcPtr = &TclpUnloadFile; } - /* * For each symbol, check for both Symbol and _Symbol, since Borland * generates C symbols with a leading '_' by default. |