From 2c5672cb49e321e2e80533542155fdfd33e1aca4 Mon Sep 17 00:00:00 2001 From: ben Date: Wed, 11 Sep 2002 04:01:02 +0000 Subject: Backed out stat64 code in previous diff, kept thread code git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@195 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109 --- rdiff-backup/rdiff_backup/cmodule.c | 9 +++------ rdiff-backup/src/cmodule.c | 9 +++------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/rdiff-backup/rdiff_backup/cmodule.c b/rdiff-backup/rdiff_backup/cmodule.c index f76d73e..d4787ed 100644 --- a/rdiff-backup/rdiff_backup/cmodule.c +++ b/rdiff-backup/rdiff_backup/cmodule.c @@ -32,6 +32,7 @@ # define STRUCT_STAT struct stat #endif +extern int lstat(const char *, struct stat *); static PyObject *UnknownFileTypeError; static PyObject *c_make_file_dict(PyObject *self, PyObject *args); @@ -47,25 +48,21 @@ static PyObject *c_make_file_dict(self, args) { PyObject *size, *inode, *mtime, *atime, *devloc, *return_val; char *filename, filetype[5]; - STRUCT_STAT sbuf; + struct stat sbuf; long int mode, perms; int res; if (!PyArg_ParseTuple(args, "s", &filename)) return NULL; Py_BEGIN_ALLOW_THREADS -#if HAVE_LARGEFILE_SUPPORT - res = lstat64(filename, &sbuf); -#else res = lstat(filename, &sbuf); -#endif Py_END_ALLOW_THREADS if (res != 0) { if (errno == ENOENT || errno == ENOTDIR) return Py_BuildValue("{s:s}", "type", NULL); else { - PyErr_SetFromErrno(PyExc_OSError); + PyErr_SetFromErrnoWithFilename(PyExc_OSError, filename); return NULL; } } diff --git a/rdiff-backup/src/cmodule.c b/rdiff-backup/src/cmodule.c index f76d73e..d4787ed 100644 --- a/rdiff-backup/src/cmodule.c +++ b/rdiff-backup/src/cmodule.c @@ -32,6 +32,7 @@ # define STRUCT_STAT struct stat #endif +extern int lstat(const char *, struct stat *); static PyObject *UnknownFileTypeError; static PyObject *c_make_file_dict(PyObject *self, PyObject *args); @@ -47,25 +48,21 @@ static PyObject *c_make_file_dict(self, args) { PyObject *size, *inode, *mtime, *atime, *devloc, *return_val; char *filename, filetype[5]; - STRUCT_STAT sbuf; + struct stat sbuf; long int mode, perms; int res; if (!PyArg_ParseTuple(args, "s", &filename)) return NULL; Py_BEGIN_ALLOW_THREADS -#if HAVE_LARGEFILE_SUPPORT - res = lstat64(filename, &sbuf); -#else res = lstat(filename, &sbuf); -#endif Py_END_ALLOW_THREADS if (res != 0) { if (errno == ENOENT || errno == ENOTDIR) return Py_BuildValue("{s:s}", "type", NULL); else { - PyErr_SetFromErrno(PyExc_OSError); + PyErr_SetFromErrnoWithFilename(PyExc_OSError, filename); return NULL; } } -- cgit v1.2.1