git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <junkio@cox.net>
To: Alex Riesen <raa.lkml@gmail.com>
Cc: git@vger.kernel.org, Christopher Faylor <me@cgf.cx>
Subject: [PATCH] DT_UNKNOWN: do not fully trust existence of DT_UNKNOWN
Date: Thu, 19 Jan 2006 17:13:57 -0800	[thread overview]
Message-ID: <7voe277lbe.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: 81b0412b0601180547q4a812c8xb632de6ab13a5e62@mail.gmail.com

The recent Cygwin defines DT_UNKNOWN although it does not have d_type
in struct dirent.  Give an option to tell us not to use d_type on such
platforms.  Hopefully this problem will be transient.

Signed-off-by: Junio C Hamano <junkio@cox.net>

---

 * By sending this out, I am not claiming this is better than
   your version or anything like that.  This is just for
   completeness and convenience, because my other two patches
   touch overlapping areas in the same Makefile.  This patch
   comes after the other two.

 Makefile |    7 +++++++
 cache.h  |    2 +-
 2 files changed, 8 insertions(+), 1 deletions(-)

80a4322a9bfbf0389ba8cb50f674682349f40a3a
diff --git a/Makefile b/Makefile
index 31898f7..84f5d24 100644
--- a/Makefile
+++ b/Makefile
@@ -21,6 +21,9 @@ all:
 #
 # Define NO_D_INO_IN_DIRENT if you don't have d_ino in your struct dirent.
 #
+# Define NO_D_TYPE_IN_DIRENT if your platform defines DT_UNKNOWN but lacks
+# d_type in struct dirent (latest Cygwin -- will be fixed soonish).
+#
 # Define NO_STRCASESTR if you don't have strcasestr.
 #
 # Define NO_SETENV if you don't have setenv in the C library.
@@ -233,6 +236,7 @@ ifeq ($(uname_S),SunOS)
 	ALL_CFLAGS += -D__EXTENSIONS__
 endif
 ifeq ($(uname_O),Cygwin)
+	NO_D_TYPE_IN_DIRENT = YesPlease
 	NO_D_INO_IN_DIRENT = YesPlease
 	NO_STRCASESTR = YesPlease
 	NEEDS_LIBICONV = YesPlease
@@ -335,6 +339,9 @@ ifdef NEEDS_NSL
 	LIBS += -lnsl
 	SIMPLE_LIB += -lnsl
 endif
+ifdef NO_D_TYPE_IN_DIRENT
+	ALL_CFLAGS += -DNO_D_TYPE_IN_DIRENT
+endif
 ifdef NO_D_INO_IN_DIRENT
 	ALL_CFLAGS += -DNO_D_INO_IN_DIRENT
 endif
diff --git a/cache.h b/cache.h
index 29c9e81..3d79c55 100644
--- a/cache.h
+++ b/cache.h
@@ -10,7 +10,7 @@
 #define deflateBound(c,s)  ((s) + (((s) + 7) >> 3) + (((s) + 63) >> 6) + 11)
 #endif
 
-#ifdef DT_UNKNOWN
+#if defined(DT_UNKNOWN) && !NO_D_TYPE_IN_DIRENT
 #define DTYPE(de)	((de)->d_type)
 #else
 #define DT_UNKNOWN	0
-- 
1.1.3-gacdd

  parent reply	other threads:[~2006-01-20  1:14 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-18 13:47 cygwin-latest: compile errors related to sockaddr_storage, dirent->d_type and dirent->d_ino Alex Riesen
2006-01-19  5:29 ` Christopher Faylor
2006-01-19  8:59   ` Junio C Hamano
2006-01-19 16:10     ` Christopher Faylor
2006-01-19 20:34       ` Christopher Faylor
2006-01-19 21:16         ` Linus Torvalds
2006-01-19 21:28           ` Christopher Faylor
2006-01-19 21:44             ` Linus Torvalds
2006-01-19 21:51               ` Christopher Faylor
2006-01-20  1:13     ` [PATCH] fsck-objects: support platforms without d_ino in struct dirent Junio C Hamano
2006-01-20  3:38       ` Christopher Faylor
2006-01-19 10:42   ` cygwin-latest: compile errors related to sockaddr_storage, dirent->d_type and dirent->d_ino Alex Riesen
2006-01-19 18:31     ` Christopher Faylor
2006-01-19 22:08       ` Alex Riesen
2006-01-19 22:51         ` Christopher Faylor
2006-01-19 12:51 ` Petr Baudis
2006-01-19 15:04   ` Alex Riesen
2006-01-19 13:00 ` Petr Baudis
2006-01-19 15:07   ` Alex Riesen
2006-01-20  1:13 ` Junio C Hamano
2006-01-20 13:23   ` Alex Riesen
2006-01-20  1:13 ` Junio C Hamano [this message]
2006-01-20 15:01   ` [PATCH] DT_UNKNOWN: do not fully trust existence of DT_UNKNOWN Alex Riesen
2006-01-20 19:10     ` Junio C Hamano
2006-01-20 21:53       ` Alex Riesen
2006-01-21  8:09         ` Junio C Hamano
2006-01-23 13:07           ` Alex Riesen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7voe277lbe.fsf@assigned-by-dhcp.cox.net \
    --to=junkio@cox.net \
    --cc=git@vger.kernel.org \
    --cc=me@cgf.cx \
    --cc=raa.lkml@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).