The fixed header files are included in multiple locations, causing a reducution of around 2000 Wundef warnings after these changes.
*sign = *decpt = 0;
-#if !_ast_fltmax_double
+#if !defined(_ast_fltmax_double)
if (format & SFFMT_LDOUBLE) {
Sfdouble_t dval = *((Sfdouble_t *) dv);
#else /*!defined(_PACKAGE_ast) */
-#if __mips == 2 && !defined(_NO_LARGEFILE64_SOURCE)
+#if defined(__mips) && __mips == 2 && !defined(_NO_LARGEFILE64_SOURCE)
#define _NO_LARGEFILE64_SOURCE 1
#endif
#if !defined(_NO_LARGEFILE64_SOURCE) && \
- _lib_lseek64 && _lib_stat64 && _lib_mmap64 && _typ_off64_t && _typ_struct_stat64
+ _lib_lseek64 && _lib_stat64 && _lib_mmap64 && defined(_typ_off64_t) && \
+ _typ_struct_stat64
# if !defined(_LARGEFILE64_SOURCE)
# define _LARGEFILE64_SOURCE 1
# endif
/* when building the binary compatibility package, a number of header files
are not needed and they may get in the way so we remove them here.
*/
-#if _SFBINARY_H
+#if defined(_SFBINARY_H)
#undef _hdr_time
#undef _sys_time
#undef _sys_stat
#endif
#endif /*_lib_select_*/
-#if _lib_poll
+#if defined(_lib_poll)
#include <poll.h>
#if _lib_poll_fd_1
/* alternative process forking */
#if _lib_vfork && !defined(fork) && !defined(sparc) && !defined(__sparc)
-#if _hdr_vfork
+#if defined(_hdr_vfork)
#include <vfork.h>
#endif
-#if _sys_vfork
+#if defined(_sys_vfork)
#include <sys/vfork.h>
#endif
#define fork vfork
#endif
#endif
-#if !defined(SF_MAXDOUBLE) && _hdr_floatingpoint
+#if !defined(SF_MAXDOUBLE) && defined(_hdr_floatingpoint)
#include <floatingpoint.h>
#if !defined(SF_MAXDOUBLE) && defined(MAXDOUBLE)
#define SF_MAXDOUBLE MAXDOUBLE
#endif
#endif
-#if !_ast_fltmax_double
+#if !defined(_ast_fltmax_double)
#if !defined(SF_MAXDOUBLE)
#define SF_MAXDOUBLE 1.79769313486231570e+308
#endif
-#if _lib_qfrexp && _lib_qldexp
+#if defined(_lib_qfrexp) && _lib_qldexp
#define _has_expfuncs 1
#define frexp qfrexp
#define ldexp qldexp
#define ESPIPE 29
#endif
/* see if we can use memory mapping for io */
-#if !defined(_PACKAGE_ast) && _mmap_worthy
+#if !defined(_PACKAGE_ast) && defined(_mmap_worthy)
# ifdef _LARGEFILE64_SOURCE
# undef mmap
# endif
#define SF_NMAP 8
/* set/unset sequential states for mmap */
-#if _lib_madvise && defined(MADV_SEQUENTIAL) && defined(MADV_NORMAL)
+#if defined(_lib_madvise) && defined(MADV_SEQUENTIAL) && defined(MADV_NORMAL)
#define SFMMSEQON(f,a,s) (void)(madvise((caddr_t)(a),(size_t)(s),MADV_SEQUENTIAL) )
#define SFMMSEQOFF(f,a,s) (void)(madvise((caddr_t)(a),(size_t)(s),MADV_NORMAL) )
#else
/* floating point to ascii conversion */
#define SF_MAXEXP10 6
#define SF_MAXPOW10 (1 << SF_MAXEXP10)
-#if !_ast_fltmax_double
+#if !defined(_ast_fltmax_double)
#define SF_FDIGITS 1024 /* max allowed fractional digits */
#define SF_IDIGITS (8*1024) /* max number of digits in int part */
#else
#endif
#endif
-#if !_hdr_mman && !_sys_mman
+#if !defined(_hdr_mman) && !_sys_mman
extern Void_t *mmap _ARG_((Void_t *, size_t, int, int, int, off_t));
extern int munmap _ARG_((Void_t *, size_t));
#endif
extern int fstat _ARG_((int, Stat_t *));
#endif
-#if _lib_vfork && !_hdr_vfork && !_sys_vfork
+#if _lib_vfork && !defined(_hdr_vfork) && !defined(_sys_vfork)
extern pid_t vfork _ARG_((void));
#endif /*_lib_vfork*/
-#if _lib_poll
+#if defined(_lib_poll)
#if _lib_poll_fd_1
extern int poll _ARG_((struct pollfd *, ulong, int));
#else
#endif
#endif /*_lib_poll*/
-#if _proto_open && __cplusplus
+#if _proto_open && defined(__cplusplus)
extern int open _ARG_((const char *, int, ...));
#endif
#define SF_STRING 0000004 /* a string stream */
#define SF_APPENDWR 0000010 /* file is in append mode only. */
-#if !_mac_SF_APPEND
+#if defined(_mac_SF_APPEND) && !_mac_SF_APPEND
#define SF_APPEND SF_APPENDWR /* this was the original append bit */
/* but BSDI stat.h now uses this symbol. */
/* So we leave it out in such cases. */
#define SF_SEEK 3 /* seek error */
#define SF_CLOSING 4 /* stream is about to be closed. */
-#if !_mac_SF_CLOSE
+#if defined(_mac_SF_CLOSE) && !_mac_SF_CLOSE
#define SF_CLOSE SF_CLOSING /* this was the original close event */
/* but AIX now uses this symbol. So we */
/* avoid defining it in such cases. */
_BEGIN_EXTERNS_ extern ssize_t _Sfi;
-#if _BLD_sfio && defined(GVDLL)
+#if defined(_BLD_sfio) && defined(GVDLL)
#define extern __declspec(dllexport)
#endif
/* standard in/out/err streams */
extern Sfio_t _Sfstderr;
#undef extern
-#if _DLL && _DLL_INDIRECT_DATA
+#if defined(_DLL) && defined(_DLL_INDIRECT_DATA)
/* The Uwin shared library environment requires these to be defined
in a global structure set up by the Uwin start-up procedure.
*/
#define sfstderr ((Sfio_t*)_ast_dll->_ast_stderr)
#endif
-#if _BLD_sfio && defined(__EXPORT__)
+#if defined(_BLD_sfio) && defined(__EXPORT__)
#define extern __EXPORT__
#endif
#define SF_U2 (SF_U1*SF_U1)
#define SF_U3 (SF_U2*SF_U1)
#define SF_U4 (SF_U3*SF_U1)
-#if __cplusplus
+#if defined(__cplusplus)
#define _SF_(f) (f)
#else
#define _SF_(f) ((Sfio_t*)(f))
#define __sf_stacked(f) ((f) ? (_SF_(f)->push != (Sfio_t*)0) : 0)
#define __sf_value(f) ((f) ? (_SF_(f)->val) : 0)
#define __sf_slen() (_Sfi)
-#if defined(__INLINE__) && !_BLD_sfio
+#if defined(__INLINE__) && !defined(_BLD_sfio)
__INLINE__ int sfputd(Sfio_t * f, Sfdouble_t v) {
return __sf_putd(f, v);
} __INLINE__ int sfputl(Sfio_t * f, Sflong_t v) {
} else
n = 0;
-#if !_ast_fltmax_double /* don't know how to do these yet */
+#if !defined(_ast_fltmax_double) /* don't know how to do these yet */
if (v > SF_MAXDOUBLE && !_has_expfuncs) {
SFOPEN(f, 0);
SFMTXRETURN(f, -1);
fp[n].argv.i = va_arg(args, int);
break;
case SFFMT_FLOAT:
-#if !_ast_fltmax_double
+#if !defined(_ast_fltmax_double)
if (FMTCMP(size, Sfdouble_t, Sfdouble_t))
fp[n].argv.ld = va_arg(args, Sfdouble_t);
else
int sign, decpt;
ssize_t size;
double dval;
-#if !_ast_fltmax_double
+#if !defined(_ast_fltmax_double)
Sfdouble_t ldval;
#endif
char *tls[2], **ls; /* for %..[separ]s */
argv.i = va_arg(args, int);
break;
case SFFMT_FLOAT:
-#if !_ast_fltmax_double
+#if !defined(_ast_fltmax_double)
if (FMTCMP(size, Sfdouble_t, Sfdouble_t))
argv.ld = va_arg(args, Sfdouble_t);
else
case 'e':
case 'E':
case 'f':
-#if !_ast_fltmax_double
+#if !defined(_ast_fltmax_double)
if (FMTCMP(size, Sfdouble_t, Sfdouble_t))
ldval = argv.ld;
else
if (fmt == 'e' || fmt == 'E') {
n = (precis = precis < 0 ? FPRECIS : precis) + 1;
-#if !_ast_fltmax_double
+#if !defined(_ast_fltmax_double)
if (FMTCMP(size, Sfdouble_t, Sfdouble_t)) {
ep = _sfcvt(&ldval, min(n, SF_FDIGITS),
&decpt, &sign,
goto e_format;
} else if (fmt == 'f' || fmt == 'F') {
precis = precis < 0 ? FPRECIS : precis;
-#if !_ast_fltmax_double
+#if !defined(_ast_fltmax_double)
if (FMTCMP(size, Sfdouble_t, Sfdouble_t)) {
ep = _sfcvt(&ldval, min(precis, SF_FDIGITS),
&decpt, &sign, SFFMT_LDOUBLE);
/* 'g' or 'G' format */
precis = precis < 0 ? FPRECIS : precis == 0 ? 1 : precis;
-#if !_ast_fltmax_double
+#if !defined(_ast_fltmax_double)
if (FMTCMP(size, Sfdouble_t, Sfdouble_t)) {
ep = _sfcvt(&ldval, min(precis, SF_FDIGITS),
&decpt, &sign, SFFMT_EFORMAT | SFFMT_LDOUBLE);
/* build the exponent */
ep = endep = buf + (sizeof(buf) - 1);
-#if !_ast_fltmax_double
+#if !defined(_ast_fltmax_double)
if (FMTCMP(size, Sfdouble_t, Sfdouble_t))
dval = ldval ? 1. : 0.; /* so the below test works */
#endif
if (value) {
*val = '\0';
-#if !_ast_fltmax_double
+#if !defined(_ast_fltmax_double)
if (FMTCMP(size, Sfdouble_t, Sfdouble_t))
argv.ld = _sfstrtod(accept, NIL(char **));
else
if (value) {
n_assign += 1;
-#if !_ast_fltmax_double
+#if !defined(_ast_fltmax_double)
if (FMTCMP(size, Sfdouble_t, Sfdouble_t))
*((Sfdouble_t *) value) = argv.ld;
else
#undef vt_threaded
#undef _may_use_threads
-#if _may_use_threads && !defined(vt_threaded) && _hdr_pthread
+#if defined(_may_use_threads) && !defined(vt_threaded) && defined(_hdr_pthread)
#define vt_threaded 1
#include <pthread.h>
typedef pthread_mutex_t _vtmtx_t;
#endif
-#if _may_use_threads && !defined(vt_threaded) && _WIN32
+#if defined(_may_use_threads) && !defined(vt_threaded) && defined(_WIN32)
#define vt_threaded 1
#include <windows.h>
typedef CRITICAL_SECTION _vtmtx_t;
extern int vtonceerror _ARG_((Vtonce_t *));
_END_EXTERNS_
-#if vt_threaded
+#if defined(vt_threaded) && vt_threaded
/* mutex structure */
struct _vtmutex_s {
_vtmtx_t lock;
int error;
};
-#if _WIN32
+#if defined(_WIN32)
#define VTONCE_INITDATA {0, 0}
#else
#define VTONCE_INITDATA {0, PTHREAD_ONCE_INIT }
#endif /*vt_threaded */
/* fake structures and functions */
-#if !vt_threaded
+#if defined(vt_threaded) && !vt_threaded
struct _vtmutex_s {
int error;
};