summaryrefslogtreecommitdiffstats
path: root/generic/tclIOUtil.c
diff options
context:
space:
mode:
authorapnadkarni <apnmbx-wits@yahoo.com>2023-09-30 16:17:28 (GMT)
committerapnadkarni <apnmbx-wits@yahoo.com>2023-09-30 16:17:28 (GMT)
commit5763cd3970d32d646f7a798a69196e70743375b5 (patch)
tree732565f7f728328ab17f33b8eca0ea237eb4e8b8 /generic/tclIOUtil.c
parent1f9a56de2f17443d6639279abb1b25b536c14cfc (diff)
downloadtcl-5763cd3970d32d646f7a798a69196e70743375b5.zip
tcl-5763cd3970d32d646f7a798a69196e70743375b5.tar.gz
tcl-5763cd3970d32d646f7a798a69196e70743375b5.tar.bz2
Start on tests and fixes for file commands for zipfs
Diffstat (limited to 'generic/tclIOUtil.c')
-rw-r--r--generic/tclIOUtil.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/generic/tclIOUtil.c b/generic/tclIOUtil.c
index f665e0f..7bbb9cd 100644
--- a/generic/tclIOUtil.c
+++ b/generic/tclIOUtil.c
@@ -2281,11 +2281,17 @@ Tcl_FSUtime(
* times to use. Should not be modified. */
{
const Tcl_Filesystem *fsPtr = Tcl_FSGetFileSystemForPath(pathPtr);
+ int err;
- if (fsPtr != NULL && fsPtr->utimeProc != NULL) {
- return fsPtr->utimeProc(pathPtr, tval);
+ if (fsPtr == NULL) {
+ err = ENOENT;
+ } else {
+ if (fsPtr->utimeProc != NULL) {
+ return fsPtr->utimeProc(pathPtr, tval);
+ }
+ err = ENOTSUP;
}
- /* TODO: set errno here? Tcl_SetErrno(ENOENT); */
+ Tcl_SetErrno(err);
return -1;
}
@@ -4340,11 +4346,17 @@ Tcl_FSCreateDirectory(
Tcl_Obj *pathPtr) /* Pathname of directory to create (UTF-8). */
{
const Tcl_Filesystem *fsPtr = Tcl_FSGetFileSystemForPath(pathPtr);
+ int err;
- if (fsPtr != NULL && fsPtr->createDirectoryProc != NULL) {
- return fsPtr->createDirectoryProc(pathPtr);
+ if (fsPtr == NULL) {
+ err = ENOENT;
+ } else {
+ if (fsPtr->createDirectoryProc != NULL) {
+ return fsPtr->createDirectoryProc(pathPtr);
+ }
+ err = ENOTSUP;
}
- Tcl_SetErrno(ENOENT);
+ Tcl_SetErrno(err);
return -1;
}