]> granicus.if.org Git - neomutt/commitdiff
pdmef+fix+dino.diff. This fixes mutt/2174.
authorRocco Rutte <pdmef@gmx.net>
Fri, 28 Apr 2006 08:27:28 +0000 (08:27 +0000)
committerRocco Rutte <pdmef@gmx.net>
Fri, 28 Apr 2006 08:27:28 +0000 (08:27 +0000)
configure.in
mh.c

index c01bbe83c34a2852a0644b63274621ddc8a078e4..7c07a8586b4de55ad812a54233d48e87d6bfac6a 100644 (file)
@@ -686,11 +686,20 @@ if test $mutt_cv_fcntl = yes; then
         AC_DEFINE(USE_FCNTL,1, [ Define to use fcntl() to lock folders. ])
 fi
 
+AC_MSG_CHECKING(whether struct dirent defines d_ino)
+ac_cv_dirent_d_ino=no
+AC_TRY_LINK([#include <dirent.h>],[struct dirent dp; (void)dp.d_ino],[ac_cv_dirent_d_ino=yes])
+if test x$ac_cv_dirent_d_ino = xyes ; then
+  AC_DEFINE(HAVE_DIRENT_D_INO,1,
+            [Define to 1 if your system has the dirent::d_ino member])
+fi
+AC_MSG_RESULT($ac_cv_dirent_d_ino)
+
 dnl This may look cumbersome -- please keep it that way, so we can
 dnl quickly change the default to "yes" again.
 mutt_cv_inodesort=no
 AC_ARG_ENABLE(inodesort,  AC_HELP_STRING([--enable-inodesort], [Read files in maildir folders sorted by inode]),
-       [if test x$enableval = xyes ; then mutt_cv_inodesort=yes; fi])
+       [if test x$enableval = xyes -a x$ac_cv_dirent_d_ino = xyes ; then mutt_cv_inodesort=yes; fi])
 
 if test $mutt_cv_inodesort = yes; then
        AC_DEFINE(USE_INODESORT, 1, [ Define to sort files in a maildir by inode number. ])
diff --git a/mh.c b/mh.c
index 0248d584b52465d4497659789f6ebee0f58683e1..ab524f8366adb7da2f992c2531571fa1fa8f1510 100644 (file)
--- a/mh.c
+++ b/mh.c
@@ -742,7 +742,12 @@ static int maildir_parse_dir (CONTEXT * ctx, struct maildir ***last,
            (debugfile, "%s:%d: parsing %s\n", __FILE__, __LINE__,
             de->d_name));
     maildir_parse_entry (ctx, last, subdir, de->d_name, count, is_old, 
-                        de->d_ino);
+#if HAVE_DIRENT_D_INO
+                        de->d_ino
+#else
+                        0
+#endif
+                       );
   }
 
   closedir (dirp);