Modified: trunk/base/src/pextlib1.0/fs-traverse.c (83146 => 83147)
--- trunk/base/src/pextlib1.0/fs-traverse.c 2011-08-26 13:49:48 UTC (rev 83146)
+++ trunk/base/src/pextlib1.0/fs-traverse.c 2011-08-26 14:12:57 UTC (rev 83147)
@@ -249,8 +249,14 @@
}
}
/* check errno before calling fts_close in case it sets errno to 0 on success */
- if (errno != 0 || (fts_close(root_fts) != 0 && !(flags & F_IGNORE_ERRORS))) {
+ if (errno != 0) {
Tcl_SetErrno(errno);
+ Tcl_ResetResult(interp);
+ Tcl_AppendResult(interp, root_fts->fts_path, ": ", (char *)Tcl_PosixError(interp), NULL);
+ fts_close(root_fts);
+ return TCL_ERROR;
+ } else if (fts_close(root_fts) != 0 && !(flags & F_IGNORE_ERRORS)) {
+ Tcl_SetErrno(errno);
Tcl_SetResult(interp, (char *)Tcl_PosixError(interp), TCL_STATIC);
return TCL_ERROR;
}