From 015f22a0fa6b2f818300bc35ccfd2be05b126933 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 6 Jan 1999 22:52:38 +0000 Subject: [PATCH] Change the access() code to return 1 if granted, 0 if not granted. Patch (again) by Sean Reifschneider. --- Modules/posixmodule.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 6cc3a2c09f4..dd3cb721d2b 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -522,7 +522,7 @@ posix_do_stat(self, args, statfunc) /* POSIX methods */ static char posix_access__doc__[] = -"access(path, mode) -> None\n\ +"access(path, mode) -> 1 if granted, 0 otherwise\n\ Test for access to a file."; static PyObject * @@ -530,7 +530,16 @@ posix_access(self, args) PyObject *self; PyObject *args; { - return posix_strint(args, access); + char *path; + int mode; + int res; + + if (!PyArg_Parse(args, "(si)", &path, &mode)) + return NULL; + Py_BEGIN_ALLOW_THREADS + res = access(path, mode); + Py_END_ALLOW_THREADS + return(PyInt_FromLong(res == 0 ? 1L : 0L)); } static char posix_ttyname__doc__[] = @@ -546,11 +555,9 @@ posix_ttyname(self, args) int id; char *ret; - if (!PyArg_Parse(args, "i", &id)) return NULL; - /* XXX Use ttyname_r if it exists? */ ret = ttyname(id); if (ret == NULL) return(posix_error());