Tcl Source Code

Check-in [d2de88281c]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Slightly more correct: If FindFirstFile() fails, the error should be "no such file or directory" (ENOENT) not "permission denied" (EACCES).
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: d2de88281ca06aa44f2468a57fe8d5634c9176eb
User & Date: jan.nijtmans 2013-03-20 13:41:50
Context
2013-03-20
15:39
Bring forward tests to trunk check-in: 6dc8fe8244 user: dgp tags: trunk
14:10
merge trunk check-in: 5a5d0ec834 user: mig tags: mig-no280
13:41
Slightly more correct: If FindFirstFile() fails, the error should be "no such file or directory" (EN... check-in: d2de88281c user: jan.nijtmans tags: trunk
13:39
Slightly more correct: If FindFirstFile() fails, the error should be "no such file or directory" (EN... check-in: 5ed5ec73c0 user: jan.nijtmans tags: core-8-5-branch
2013-03-19
14:59
Handle the (unlikely) case that the file is deleted in between. Suggested by Harald Oehlmann (Thanks... check-in: 7eee715c3f user: jan.nijtmans tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to win/tclWinFile.c.

2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017

	    if (lasterror != ERROR_SHARING_VIOLATION) {
		TclWinConvertError(lasterror);
		return -1;
		}
	    hFind = FindFirstFile(nativePath, &ffd);
	    if (hFind == INVALID_HANDLE_VALUE) {
		TclWinConvertError(lasterror);
		return -1;
	    }
	    memcpy(&data, &ffd, sizeof(data));
	    FindClose(hFind);
	}

	attr = data.dwFileAttributes;







|







2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017

	    if (lasterror != ERROR_SHARING_VIOLATION) {
		TclWinConvertError(lasterror);
		return -1;
		}
	    hFind = FindFirstFile(nativePath, &ffd);
	    if (hFind == INVALID_HANDLE_VALUE) {
		TclWinConvertError(GetLastError());
		return -1;
	    }
	    memcpy(&data, &ffd, sizeof(data));
	    FindClose(hFind);
	}

	attr = data.dwFileAttributes;