From: Peter Howkins Date: Fri, 23 Mar 2018 01:51:39 +0000 (+0000) Subject: dtksh: HACKY fix for compilation on later linux C library where FILE definition has... X-Git-Tag: 2.2.4a~186 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=9d69ea3d979981f29e7e3602c8239a3bc145ba89;p=oweals%2Fcde.git dtksh: HACKY fix for compilation on later linux C library where FILE definition has moved --- diff --git a/cde/programs/dtksh/ksh93/src/cmd/ksh93/sh/init.c b/cde/programs/dtksh/ksh93/src/cmd/ksh93/sh/init.c index 43b6fe38..23b39224 100644 --- a/cde/programs/dtksh/ksh93/src/cmd/ksh93/sh/init.c +++ b/cde/programs/dtksh/ksh93/src/cmd/ksh93/sh/init.c @@ -108,6 +108,12 @@ #include "national.h" #if _hdr_wchar && _lib_wctype && _lib_iswctype +/* on linux wchar.h can include FILE without stdio.h which clashes with sfio_t */ +#if defined(linux) + #ifndef __FILE_defined + #define __FILE_defined 1 + #endif +#endif # include # undef isalpha # define isalpha(x) iswalpha(x) diff --git a/cde/programs/dtksh/ksh93/src/cmd/ksh93/sh/macro.c b/cde/programs/dtksh/ksh93/src/cmd/ksh93/sh/macro.c index 85b94fc5..c07b9108 100644 --- a/cde/programs/dtksh/ksh93/src/cmd/ksh93/sh/macro.c +++ b/cde/programs/dtksh/ksh93/src/cmd/ksh93/sh/macro.c @@ -94,6 +94,12 @@ #endif #include "defs.h" #include +/* on linux pwd.h can include FILE without stdio.h which clashes with sfio_t */ +#if defined(linux) + #ifndef __FILE_defined + #define __FILE_defined 1 + #endif +#endif #include #include "name.h" #include "variables.h" diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/include/ast.h b/cde/programs/dtksh/ksh93/src/lib/libast/include/ast.h index ffe0b39c..22496520 100644 --- a/cde/programs/dtksh/ksh93/src/lib/libast/include/ast.h +++ b/cde/programs/dtksh/ksh93/src/lib/libast/include/ast.h @@ -121,13 +121,7 @@ * workaround botched headers that assume */ -#if defined(linux) -#ifndef __FILE -#define __FILE FILE -#endif -#endif - -#if !defined(CSRG_BASED) +#if !defined(CSRG_BASED) && !defined(linux) #ifndef FILE #define FILE Sfio_t #endif diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/include/sfio.h b/cde/programs/dtksh/ksh93/src/lib/libast/include/sfio.h index 5394d106..05703d4e 100644 --- a/cde/programs/dtksh/ksh93/src/lib/libast/include/sfio.h +++ b/cde/programs/dtksh/ksh93/src/lib/libast/include/sfio.h @@ -149,7 +149,7 @@ #define _STDIO_INCLUDED 1 #endif -#if !defined(CSRG_BASED) +#if !defined(CSRG_BASED) && !defined(linux) #ifndef FILE #define FILE Sfio_t #endif @@ -161,6 +161,9 @@ #endif typedef struct _sfio_ Sfile_t, Sfio_t, SFIO; +#if defined(linux) +typedef struct _sfio_ FILE; +#endif typedef struct _sfdc_ Sfdisc_t; typedef int (*Sfread_f)_ARG_((Sfio_t*, Void_t*, int, Sfdisc_t*)); typedef int (*Sfwrite_f)_ARG_((Sfio_t*, const Void_t*, int, Sfdisc_t*)); diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/include/stdio.h b/cde/programs/dtksh/ksh93/src/lib/libast/include/stdio.h index 32e2e206..aed9be83 100644 --- a/cde/programs/dtksh/ksh93/src/lib/libast/include/stdio.h +++ b/cde/programs/dtksh/ksh93/src/lib/libast/include/stdio.h @@ -50,10 +50,12 @@ #define stdout sfstdout #define stderr sfstderr #define BUFSIZ SF_BUFSIZE +#if !defined(linux) #ifdef FILE #undef FILE #endif #define FILE Sfio_t +#endif #include diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtfs.c b/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtfs.c index 2b265dc6..968c9721 100644 --- a/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtfs.c +++ b/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtfs.c @@ -120,6 +120,12 @@ __STDPP__directive pragma pp:hide endmntent getmntent #define getmntent ______getmntent #endif +/* on linux mntent.h can include FILE without stdio.h which clashes with sfio_t */ +#if defined(linux) + #ifndef __FILE_defined + #define __FILE_defined 1 + #endif +#endif #include #if defined(__STDPP__directive) && defined(__STDPP__hide) diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtgid.c b/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtgid.c index 6492401d..93f4d48d 100644 --- a/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtgid.c +++ b/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtgid.c @@ -98,6 +98,12 @@ __STDPP__directive pragma pp:hide getgrgid #include #include +/* on linux grp.h can include FILE without stdio.h which clashes with sfio_t */ +#if defined(linux) + #ifndef __FILE_defined + #define __FILE_defined 1 + #endif +#endif #include #if defined(__STDPP__directive) && defined(__STDPP__hide) diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtuid.c b/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtuid.c index 20f45477..36ae33c6 100644 --- a/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtuid.c +++ b/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtuid.c @@ -98,6 +98,12 @@ __STDPP__directive pragma pp:hide getpwuid #include #include +/* on linux pwd.h can include FILE without stdio.h which clashes with sfio_t */ +#if defined(linux) + #ifndef __FILE_defined + #define __FILE_defined 1 + #endif +#endif #include #if defined(__STDPP__directive) && defined(__STDPP__hide) diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/string/strgid.c b/cde/programs/dtksh/ksh93/src/lib/libast/string/strgid.c index 27513935..29d26488 100644 --- a/cde/programs/dtksh/ksh93/src/lib/libast/string/strgid.c +++ b/cde/programs/dtksh/ksh93/src/lib/libast/string/strgid.c @@ -100,6 +100,12 @@ __STDPP__directive pragma pp:hide getgrgid getgrnam getpwnam #include #include +/* on linux pwd.h and grp.h can include FILE without stdio.h which clashes with sfio_t */ +#if defined(linux) + #ifndef __FILE_defined + #define __FILE_defined 1 + #endif +#endif #include #include diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/string/strmatch.c b/cde/programs/dtksh/ksh93/src/lib/libast/string/strmatch.c index ceb679b1..e113c687 100644 --- a/cde/programs/dtksh/ksh93/src/lib/libast/string/strmatch.c +++ b/cde/programs/dtksh/ksh93/src/lib/libast/string/strmatch.c @@ -95,6 +95,12 @@ #if _hdr_wchar && _lib_wctype && _lib_iswctype +/* on linux wchar.h can include FILE without stdio.h which clashes with sfio_t */ +#if defined(linux) + #ifndef __FILE_defined + #define __FILE_defined 1 + #endif +#endif #include #undef isalnum diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/string/struid.c b/cde/programs/dtksh/ksh93/src/lib/libast/string/struid.c index a4b5c543..2bbfd5b8 100644 --- a/cde/programs/dtksh/ksh93/src/lib/libast/string/struid.c +++ b/cde/programs/dtksh/ksh93/src/lib/libast/string/struid.c @@ -99,6 +99,12 @@ __STDPP__directive pragma pp:hide getpwnam getpwuid #include #include +/* on linux pwd.h can include FILE without stdio.h which clashes with sfio_t */ +#if defined(linux) + #ifndef __FILE_defined + #define __FILE_defined 1 + #endif +#endif #include #if defined(__STDPP__directive) && defined(__STDPP__hide) diff --git a/cde/programs/dtksh/ksh93/src/lib/libcmd/id.c b/cde/programs/dtksh/ksh93/src/lib/libcmd/id.c index 1f89259d..3f296133 100644 --- a/cde/programs/dtksh/ksh93/src/lib/libcmd/id.c +++ b/cde/programs/dtksh/ksh93/src/lib/libcmd/id.c @@ -96,6 +96,12 @@ static const char id[] = "\n@(#)id (AT&T Bell Laboratories) 07/17/94\0\n"; #include "FEATURE/ids" +/* on linux grp.h pwd.h can include FILE without stdio.h which clashes with sfio_t */ +#if defined(linux) + #ifndef __FILE_defined + #define __FILE_defined 1 + #endif +#endif #include #include