From 18a4f6be6b4cfc34de6f80c36ab3ef951a0f7164 Mon Sep 17 00:00:00 2001 From: Duy Nguyen Date: Tue, 12 Feb 2019 21:14:41 +0700 Subject: git-compat-util: work around fileno(fp) that is a macro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On various BSD's, fileno(fp) is implemented as a macro that directly accesses the fields in the FILE * object, which breaks a function that accepts a "void *fp" parameter and calls fileno(fp) and expect it to work. Work it around by adding a compile-time knob FILENO_IS_A_MACRO that inserts a real helper function in the middle of the callchain. Signed-off-by: Nguyễn Thái Ngọc Duy Signed-off-by: Junio C Hamano --- config.mak.uname | 2 ++ 1 file changed, 2 insertions(+) (limited to 'config.mak.uname') diff --git a/config.mak.uname b/config.mak.uname index 3ee7da0e23..23eac5ac9d 100644 --- a/config.mak.uname +++ b/config.mak.uname @@ -221,6 +221,7 @@ ifeq ($(uname_S),FreeBSD) HAVE_BSD_KERN_PROC_SYSCTL = YesPlease PAGER_ENV = LESS=FRX LV=-c MORE=FRX FREAD_READS_DIRECTORIES = UnfortunatelyYes + FILENO_IS_A_MACRO = UnfortunatelyYes endif ifeq ($(uname_S),OpenBSD) NO_STRCASESTR = YesPlease @@ -233,6 +234,7 @@ ifeq ($(uname_S),OpenBSD) HAVE_BSD_SYSCTL = YesPlease HAVE_BSD_KERN_PROC_SYSCTL = YesPlease PROCFS_EXECUTABLE_PATH = /proc/curproc/file + FILENO_IS_A_MACRO = UnfortunatelyYes endif ifeq ($(uname_S),MirBSD) NO_STRCASESTR = YesPlease -- cgit v1.2.3