emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: recent commit broke src/dired.c on OSX


From: Chad Brown
Subject: Re: recent commit broke src/dired.c on OSX
Date: Sun, 25 Jul 2010 20:12:01 -0700

Here's a stab at implementing Jan's suggestion:  testing for dirent.h in 
configure instead of dancing around SYSV_SYSTEM_DIR.  The changes are pretty 
small, and I have signed papers already anyway.

I did simplify a test that checked for MSDOS, and I have no way to test on that 
platform, so I would appreciate it if someone would check to make sure I did no 
harm.  Thanks.

*Chad
P.S. If someone would prefer unidiffs instead, just let me know.  Also, I could 
put together a ChangeLog entry if that would be helpful -- I just realized that 
I hadn't done so, but the changes are pretty straightforward.

=== modified file 'configure'
*** configure   2010-07-25 19:09:54 +0000
--- configure   2010-07-26 02:39:53 +0000
***************
*** 6149,6155 ****
    linux/version.h sys/systeminfo.h termios.h limits.h string.h stdlib.h \
    stdio_ext.h fcntl.h strings.h coff.h pty.h sys/mman.h \
    sys/param.h sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h \
!   sys/utsname.h pwd.h utmp.h
  do :
    as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
  ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" 
"$ac_includes_default"
--- 6149,6155 ----
    linux/version.h sys/systeminfo.h termios.h limits.h string.h stdlib.h \
    stdio_ext.h fcntl.h strings.h coff.h pty.h sys/mman.h \
    sys/param.h sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h \
!   sys/utsname.h pwd.h utmp.h dirent.h
  do :
    as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
  ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" 
"$ac_includes_default"

=== modified file 'configure.in'
*** configure.in        2010-07-25 19:09:54 +0000
--- configure.in        2010-07-26 02:36:43 +0000
***************
*** 1204,1210 ****
    linux/version.h sys/systeminfo.h termios.h limits.h string.h stdlib.h \
    stdio_ext.h fcntl.h strings.h coff.h pty.h sys/mman.h \
    sys/param.h sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h \
!   sys/utsname.h pwd.h utmp.h)
  
  AC_MSG_CHECKING(if personality LINUX32 can be set)
  AC_TRY_COMPILE([#include <sys/personality.h>], [personality (PER_LINUX32)],
--- 1204,1210 ----
    linux/version.h sys/systeminfo.h termios.h limits.h string.h stdlib.h \
    stdio_ext.h fcntl.h strings.h coff.h pty.h sys/mman.h \
    sys/param.h sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h \
!   sys/utsname.h pwd.h utmp.h dirent.h)
  
  AC_MSG_CHECKING(if personality LINUX32 can be set)
  AC_TRY_COMPILE([#include <sys/personality.h>], [personality (PER_LINUX32)],

=== modified file 'src/config.in'
*** src/config.in       2010-07-25 19:09:54 +0000
--- src/config.in       2010-07-26 02:43:53 +0000
***************
*** 737,742 ****
--- 737,745 ----
  /* Define to 1 if you have the <utmp.h> header file. */
  #undef HAVE_UTMP_H
  
+ /* Define to 1 if you have the <dirent.h> header file. */
+ #undef HAVE_DIRENT_H
+ 
  /* Define to 1 if you have the `vfork' function. */
  #undef HAVE_VFORK
  

=== modified file 'src/dired.c'
*** src/dired.c 2010-07-25 00:20:51 +0000
--- src/dired.c 2010-07-26 03:03:56 +0000
***************
*** 48,76 ****
     Since applying strlen to the name always works, we'll just do that.  */
  #define NAMLEN(p) strlen (p->d_name)
  
! #ifdef SYSV_SYSTEM_DIR
  
  #include <dirent.h>
  #define DIRENTRY struct dirent
  
! #else /* not SYSV_SYSTEM_DIR */
  
- #ifdef MSDOS
- #include <dirent.h>
- #else
  #include <sys/dir.h>
- #endif
- 
  #include <sys/stat.h>
  
- #ifndef MSDOS
  #define DIRENTRY struct direct
  
  extern DIR *opendir (char *);
  extern struct direct *readdir (DIR *);
  
! #endif /* not MSDOS */
! #endif /* not SYSV_SYSTEM_DIR */
  
  /* Some versions of Cygwin don't have d_ino in `struct dirent'.  */
  #if defined(MSDOS) || defined(__CYGWIN__)
--- 48,69 ----
     Since applying strlen to the name always works, we'll just do that.  */
  #define NAMLEN(p) strlen (p->d_name)
  
! #ifdef HAVE_DIRENT_H
  
  #include <dirent.h>
  #define DIRENTRY struct dirent
  
! #else /* not HAVE_DIRENT */
  
  #include <sys/dir.h>
  #include <sys/stat.h>
  
  #define DIRENTRY struct direct
  
  extern DIR *opendir (char *);
  extern struct direct *readdir (DIR *);
  
! #endif /* HAVE_DIRENT_H */
  
  /* Some versions of Cygwin don't have d_ino in `struct dirent'.  */
  #if defined(MSDOS) || defined(__CYGWIN__)

=== modified file 'src/sysdep.c'
*** src/sysdep.c        2010-07-13 10:57:00 +0000
--- src/sysdep.c        2010-07-26 02:48:50 +0000
***************
*** 2447,2453 ****
  
  /* Directory routines for systems that don't have them. */
  
! #ifdef SYSV_SYSTEM_DIR
  
  #include <dirent.h>
  
--- 2447,2453 ----
  
  /* Directory routines for systems that don't have them. */
  
! #ifdef HAVE_DIRENT
  
  #include <dirent.h>
  
***************
*** 2464,2470 ****
    return rtnval;
  }
  #endif /* not HAVE_CLOSEDIR */
! #endif /* SYSV_SYSTEM_DIR */
  
  
  int
--- 2464,2470 ----
    return rtnval;
  }
  #endif /* not HAVE_CLOSEDIR */
! #endif /* HAVE_DIRENT */
  
  
  int






reply via email to

[Prev in Thread] Current Thread [Next in Thread]