On 27/07/10 00:17, Tim Nieradzik wrote:
---
  lib/libalpm/be_files.c |   18 ++----------------
  1 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/lib/libalpm/be_files.c b/lib/libalpm/be_files.c
index adf41aa..ddef742 100644
--- a/lib/libalpm/be_files.c
+++ b/lib/libalpm/be_files.c
@@ -113,8 +113,6 @@ static int dirlist_from_fs(const char *syncdbpath, 
alpm_list_t **dirlist)
  {
        DIR *dbdir;
        struct dirent *ent = NULL;
-       struct stat sbuf;
-       char path[PATH_MAX];

        dbdir = opendir(syncdbpath);
        if (dbdir != NULL) {
@@ -128,8 +126,7 @@ static int dirlist_from_fs(const char *syncdbpath, 
alpm_list_t **dirlist)
                        }

                        /* stat the entry, make sure it's a directory */
-                       snprintf(path, PATH_MAX, "%s%s", syncdbpath, name);
-                       if(stat(path,&sbuf) != 0 || !S_ISDIR(sbuf.st_mode)) {
+                       if(ent->d_type != DT_DIR) {


That is a platform specific construct (not defined by POSIX). It works with glibc (not sure about uclibc) and on BSD libc, but I believe this broken on OSX and potentially on broken cygwin. And those are only the platforms I know people are using pacman on...

Any ideas if we can autoconf around that?

Allan

Reply via email to