diff lib/lstat.c @ 15538:9fd857e43955

Avoid endless recursions if config.h includes some header files. * lib/fopen.c (__need_FILE): Define already before including config.h. * lib/freopen.c (__need_FILE): Likewise. * lib/open.c (__need_system_fcntl_h): Likewise. * lib/stat.c (__need_system_sys_stat_h): Likewise. * lib/lstat.c (__need_system_sys_stat_h): Likewise. Reported by Michael Goffioul <michael.goffioul@gmail.com>.
author Bruno Haible <bruno@clisp.org>
date Tue, 30 Aug 2011 09:57:33 +0200 (2011-08-30)
parents 97fc9a21a8fb
children 716e67b8d5a9
line wrap: on
line diff
--- a/lib/lstat.c
+++ b/lib/lstat.c
@@ -17,6 +17,10 @@
 
 /* written by Jim Meyering */
 
+/* If the user's config.h happens to include <sys/stat.h>, let it include only
+   the system's <sys/stat.h> here, so that orig_lstat doesn't recurse to
+   rpl_lstat.  */
+#define __need_system_sys_stat_h
 #include <config.h>
 
 #if !HAVE_LSTAT
@@ -27,7 +31,6 @@
 #else /* HAVE_LSTAT */
 
 /* Get the original definition of lstat.  It might be defined as a macro.  */
-# define __need_system_sys_stat_h
 # include <sys/types.h>
 # include <sys/stat.h>
 # undef __need_system_sys_stat_h