mercurial/osutil.c
changeset 7059 6a76cf980999
parent 7056 2c1f18b88b6a
child 7098 8a5c88c7e97b
--- a/mercurial/osutil.c	Mon Sep 29 12:12:53 2008 +0200
+++ b/mercurial/osutil.c	Wed Oct 01 08:41:18 2008 -0400
@@ -207,9 +207,7 @@
 
 	fh = FindFirstFileA(pattern, &fd);
 	if (fh == INVALID_HANDLE_VALUE) {
-		PyErr_SetExcFromWindowsErrWithFilename(PyExc_OSError,
-							GetLastError(),
-							path);
+		PyErr_SetFromWindowsErrWithFilename(GetLastError(), path);
 		goto error_file;
 	}
 
@@ -244,9 +242,7 @@
 	} while (FindNextFileA(fh, &fd));
 
 	if (GetLastError() != ERROR_NO_MORE_FILES) {
-		PyErr_SetExcFromWindowsErrWithFilename(PyExc_OSError,
-							GetLastError(),
-							path);
+		PyErr_SetFromWindowsErrWithFilename(GetLastError(), path);
 		goto error;
 	}
 
@@ -294,9 +290,10 @@
 					 &path, &pathlen, &statflag, &skip))
 		goto error_parse;
 
-	if (pathlen >= PATH_MAX)
+	if (pathlen >= PATH_MAX) {
+		PyErr_SetString(PyExc_ValueError, "path too long");
 		goto error_parse;
-
+	}
 	strncpy(fullpath, path, PATH_MAX);
 	fullpath[pathlen] = '/';
 	keepstat = statflag && PyObject_IsTrue(statflag);