summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2002-09-11 04:01:02 +0000
committerben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2002-09-11 04:01:02 +0000
commit2c5672cb49e321e2e80533542155fdfd33e1aca4 (patch)
treec4a045a61539739a007b00323afb7e957ea891f9
parent3e213edb7f3bb13f74367cb207e3f450d11e0c4f (diff)
downloadrdiff-backup-2c5672cb49e321e2e80533542155fdfd33e1aca4.tar.gz
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
-rw-r--r--rdiff-backup/rdiff_backup/cmodule.c9
-rw-r--r--rdiff-backup/src/cmodule.c9
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;
}
}