mirror of
https://github.com/lcn2/calc.git
synced 2025-08-19 01:13:27 +03:00
Checkpoint on fixing compiling with musl gentoo
Restored use of the #define FPOS_POS_LEN symbol. This refers to the length of the __pos element (if the __pos element exists), the fpos_t type (if that type exists). Changed SWAP_HALF_IN_FILEPOS(dest, src) mato to use FILEPOS_LEN Little Endian when FILEPOS is a simple scalar type (i.e., HAVE_FILEPOS_SCALAR is defined). Changed #define HAVE_FPOS to HAVE_FGETSETPOS. Corrected comment in have_fpos_pos.h. The HAVE_FPOS_POS symbol was NOT related to fgetpos & fsetpos but rather if we we have an __pos element in FILEPOS. Changed #define HAVE_NO_FPOS to HAVE_NO_FGETSETPOS. Improved comments in have_fpos_pos.h to show why and how HAVE_FPOS_POS, FPOS_POS_BITS, and FPOS_POS_LEN were defined or undefed. Changed showfiles builtin to print sizes cast to (long int) with the "%ld" printf format to avoid implementations that do not support the "%lld" printf format specifier.
This commit is contained in:
25
CHANGES
25
CHANGES
@@ -38,8 +38,6 @@ The following are the changes from calc version 2.14.1.2 to date:
|
|||||||
file failed to compile incorrectly, producing a potentially incorrect
|
file failed to compile incorrectly, producing a potentially incorrect
|
||||||
have_uid_t.h file for such systems.
|
have_uid_t.h file for such systems.
|
||||||
|
|
||||||
Renamed #define FPOS_POS_LEN symbol to FPOSPOS_LEN.
|
|
||||||
|
|
||||||
Added full_debug rule to Makefile. This does the work of the
|
Added full_debug rule to Makefile. This does the work of the
|
||||||
old debug rule in a more verbose mode by using Q= H=@ S= E= V=@.
|
old debug rule in a more verbose mode by using Q= H=@ S= E= V=@.
|
||||||
|
|
||||||
@@ -50,6 +48,29 @@ The following are the changes from calc version 2.14.1.2 to date:
|
|||||||
The full_debug rule will no longer stop when one of the sub-tasks
|
The full_debug rule will no longer stop when one of the sub-tasks
|
||||||
failed (exit non-zero).
|
failed (exit non-zero).
|
||||||
|
|
||||||
|
Restored use of the #define FPOS_POS_LEN symbol. This refers to
|
||||||
|
the length of the __pos element (if the __pos element exists),
|
||||||
|
the fpos_t type (if that type exists).
|
||||||
|
|
||||||
|
Changed SWAP_HALF_IN_FILEPOS(dest, src) mato to use FILEPOS_LEN Little
|
||||||
|
Endian when FILEPOS is a simple scalar type (i.e., HAVE_FILEPOS_SCALAR
|
||||||
|
is defined).
|
||||||
|
|
||||||
|
Changed #define HAVE_FPOS to HAVE_FGETSETPOS.
|
||||||
|
|
||||||
|
Corrected comment in have_fpos_pos.h. The HAVE_FPOS_POS symbol was
|
||||||
|
NOT related to fgetpos & fsetpos but rather if we we have an __pos
|
||||||
|
element in FILEPOS.
|
||||||
|
|
||||||
|
Changed #define HAVE_NO_FPOS to HAVE_NO_FGETSETPOS.
|
||||||
|
|
||||||
|
Improved comments in have_fpos_pos.h to show why and how
|
||||||
|
HAVE_FPOS_POS, FPOS_POS_BITS, and FPOS_POS_LEN were defined or undefed.
|
||||||
|
|
||||||
|
Changed showfiles builtin to print sizes cast to (long int) with
|
||||||
|
the "%ld" printf format to avoid implementations that do not support
|
||||||
|
the "%lld" printf format specifier.
|
||||||
|
|
||||||
|
|
||||||
The following are the changes from calc version 2.14.1.0 to 2.14.1.0:
|
The following are the changes from calc version 2.14.1.0 to 2.14.1.0:
|
||||||
|
|
||||||
|
22
Makefile
22
Makefile
@@ -280,14 +280,14 @@ LONG_BITS=
|
|||||||
# Determine if we have the ANSI C fgetpos and fsetpos alternate interface
|
# Determine if we have the ANSI C fgetpos and fsetpos alternate interface
|
||||||
# to the ftell() and fseek() (with whence set to SEEK_SET) functions.
|
# to the ftell() and fseek() (with whence set to SEEK_SET) functions.
|
||||||
#
|
#
|
||||||
# If HAVE_FPOS is empty, this Makefile will run the have_fpos program
|
# If HAVE_FGETSETPOS is empty, this Makefile will run the have_fpos program
|
||||||
# to determine if there is are fgetpos and fsetpos functions. If HAVE_FPOS
|
# to determine if there is are fgetpos and fsetpos functions. If HAVE_FGETSETPOS
|
||||||
# is set to -DHAVE_NO_FPOS, then calc will use ftell() and fseek().
|
# is set to -DHAVE_NO_FGETSETPOS, then calc will use ftell() and fseek().
|
||||||
#
|
#
|
||||||
# If in doubt, leave HAVE_FPOS empty and this Makefile will figure it out.
|
# If in doubt, leave HAVE_FGETSETPOS empty and this Makefile will figure it out.
|
||||||
#
|
#
|
||||||
HAVE_FPOS=
|
HAVE_FGETSETPOS=
|
||||||
#HAVE_FPOS= -DHAVE_NO_FPOS
|
#HAVE_FGETSETPOS= -DHAVE_NO_FGETSETPOS
|
||||||
|
|
||||||
# Determine if we have an __pos element of a file position (fpos_t) structure.
|
# Determine if we have an __pos element of a file position (fpos_t) structure.
|
||||||
#
|
#
|
||||||
@@ -3190,7 +3190,7 @@ have_fpos.h: have_fpos.c banned.h have_ban_pragma.h ${MAKE_FILE} ${LOC_MKF}
|
|||||||
${Q} echo '' >> $@
|
${Q} echo '' >> $@
|
||||||
${Q} echo '/* do we have fgetpos & fsetpos functions? */' >> $@
|
${Q} echo '/* do we have fgetpos & fsetpos functions? */' >> $@
|
||||||
${Q} ${RM} -f have_fpos.o have_fpos${EXT}
|
${Q} ${RM} -f have_fpos.o have_fpos${EXT}
|
||||||
-${Q} ${LCC} ${HAVE_FPOS} ${ICFLAGS} have_fpos.c -c ${S} \
|
-${Q} ${LCC} ${HAVE_FGETSETPOS} ${ICFLAGS} have_fpos.c -c ${S} \
|
||||||
|| ${TRUE}
|
|| ${TRUE}
|
||||||
-${Q} ${LCC} ${ILDFLAGS} have_fpos.o -o have_fpos${EXT} ${S} \
|
-${Q} ${LCC} ${ILDFLAGS} have_fpos.o -o have_fpos${EXT} ${S} \
|
||||||
|| ${TRUE}
|
|| ${TRUE}
|
||||||
@@ -3199,7 +3199,7 @@ have_fpos.h: have_fpos.c banned.h have_ban_pragma.h ${MAKE_FILE} ${LOC_MKF}
|
|||||||
-${Q} if [ -s fpos_tmp ]; then \
|
-${Q} if [ -s fpos_tmp ]; then \
|
||||||
${CAT} fpos_tmp >> $@; \
|
${CAT} fpos_tmp >> $@; \
|
||||||
else \
|
else \
|
||||||
echo '#undef HAVE_FPOS /* no */' >> $@; \
|
echo '#undef HAVE_FGETSETPOS /* no */' >> $@; \
|
||||||
echo '' >> $@; \
|
echo '' >> $@; \
|
||||||
echo 'typedef long FILEPOS;' >> $@; \
|
echo 'typedef long FILEPOS;' >> $@; \
|
||||||
fi
|
fi
|
||||||
@@ -3231,9 +3231,9 @@ have_fpos_pos.h: have_fpos_pos.c have_fpos.h have_posscl.h \
|
|||||||
${Q} echo '#define CALC_HAVE_FPOS_POS_H' >> $@
|
${Q} echo '#define CALC_HAVE_FPOS_POS_H' >> $@
|
||||||
${Q} echo '' >> $@
|
${Q} echo '' >> $@
|
||||||
${Q} echo '' >> $@
|
${Q} echo '' >> $@
|
||||||
${Q} echo '/* do we have fgetpos & fsetpos functions? */' >> $@
|
${Q} echo '/* do we have an __pos element in FILEPOS? */' >> $@
|
||||||
${Q} ${RM} -f have_fpos_pos.o have_fpos_pos${EXT}
|
${Q} ${RM} -f have_fpos_pos.o have_fpos_pos${EXT}
|
||||||
-${Q} ${LCC} ${HAVE_FPOS} ${HAVE_FPOS_POS} ${ICFLAGS} \
|
-${Q} ${LCC} ${HAVE_FGETSETPOS} ${HAVE_FPOS_POS} ${ICFLAGS} \
|
||||||
have_fpos_pos.c -c ${S} \
|
have_fpos_pos.c -c ${S} \
|
||||||
|| ${TRUE}
|
|| ${TRUE}
|
||||||
-${Q} ${LCC} ${ILDFLAGS} have_fpos_pos.o -o have_fpos_pos${EXT} ${S} \
|
-${Q} ${LCC} ${ILDFLAGS} have_fpos_pos.o -o have_fpos_pos${EXT} ${S} \
|
||||||
@@ -4825,7 +4825,7 @@ env:
|
|||||||
@echo 'HAVE_ARC4RANDOM=${HAVE_ARC4RANDOM}'; echo ''
|
@echo 'HAVE_ARC4RANDOM=${HAVE_ARC4RANDOM}'; echo ''
|
||||||
@echo 'HAVE_CONST=${HAVE_CONST}'; echo ''
|
@echo 'HAVE_CONST=${HAVE_CONST}'; echo ''
|
||||||
@echo 'HAVE_ENVIRON=${HAVE_ENVIRON}'; echo ''
|
@echo 'HAVE_ENVIRON=${HAVE_ENVIRON}'; echo ''
|
||||||
@echo 'HAVE_FPOS=${HAVE_FPOS}'; echo ''
|
@echo 'HAVE_FGETSETPOS=${HAVE_FGETSETPOS}'; echo ''
|
||||||
@echo 'HAVE_FPOS_POS=${HAVE_FPOS_POS}'; echo ''
|
@echo 'HAVE_FPOS_POS=${HAVE_FPOS_POS}'; echo ''
|
||||||
@echo 'HAVE_GETPGID=${HAVE_GETPGID}'; echo ''
|
@echo 'HAVE_GETPGID=${HAVE_GETPGID}'; echo ''
|
||||||
@echo 'HAVE_GETPRID=${HAVE_GETPRID}'; echo ''
|
@echo 'HAVE_GETPRID=${HAVE_GETPRID}'; echo ''
|
||||||
|
@@ -220,14 +220,14 @@ LONG_BITS=
|
|||||||
# Determine if we have the ANSI C fgetpos and fsetpos alternate interface
|
# Determine if we have the ANSI C fgetpos and fsetpos alternate interface
|
||||||
# to the ftell() and fseek() (with whence set to SEEK_SET) functions.
|
# to the ftell() and fseek() (with whence set to SEEK_SET) functions.
|
||||||
#
|
#
|
||||||
# If HAVE_FPOS is empty, this Makefile will run the have_fpos program
|
# If HAVE_FGETSETPOS is empty, this Makefile will run the have_fpos program
|
||||||
# to determine if there is are fgetpos and fsetpos functions. If HAVE_FPOS
|
# to determine if there is are fgetpos and fsetpos functions. If HAVE_FGETSETPOS
|
||||||
# is set to -DHAVE_NO_FPOS, then calc will use ftell() and fseek().
|
# is set to -DHAVE_NO_FGETSETPOS, then calc will use ftell() and fseek().
|
||||||
#
|
#
|
||||||
# If in doubt, leave HAVE_FPOS empty and this Makefile will figure it out.
|
# If in doubt, leave HAVE_FGETSETPOS empty and this Makefile will figure it out.
|
||||||
#
|
#
|
||||||
HAVE_FPOS=
|
HAVE_FGETSETPOS=
|
||||||
#HAVE_FPOS= -DHAVE_NO_FPOS
|
#HAVE_FGETSETPOS= -DHAVE_NO_FGETSETPOS
|
||||||
|
|
||||||
# Determine if we have an __pos element of a file position (fpos_t) structure.
|
# Determine if we have an __pos element of a file position (fpos_t) structure.
|
||||||
#
|
#
|
||||||
@@ -2504,7 +2504,7 @@ have_fpos.h: have_fpos.c banned.h have_ban_pragma.h ${MAKE_FILE} ${LOC_MKF}
|
|||||||
${Q} echo '' >> $@
|
${Q} echo '' >> $@
|
||||||
${Q} echo '/* do we have fgetpos & fsetpos functions? */' >> $@
|
${Q} echo '/* do we have fgetpos & fsetpos functions? */' >> $@
|
||||||
${Q} ${RM} -f have_fpos.o have_fpos${EXT}
|
${Q} ${RM} -f have_fpos.o have_fpos${EXT}
|
||||||
-${Q} ${LCC} ${HAVE_FPOS} ${ICFLAGS} have_fpos.c -c ${S} \
|
-${Q} ${LCC} ${HAVE_FGETSETPOS} ${ICFLAGS} have_fpos.c -c ${S} \
|
||||||
|| ${TRUE}
|
|| ${TRUE}
|
||||||
-${Q} ${LCC} ${ILDFLAGS} have_fpos.o -o have_fpos${EXT} ${S} \
|
-${Q} ${LCC} ${ILDFLAGS} have_fpos.o -o have_fpos${EXT} ${S} \
|
||||||
|| ${TRUE}
|
|| ${TRUE}
|
||||||
@@ -2513,7 +2513,7 @@ have_fpos.h: have_fpos.c banned.h have_ban_pragma.h ${MAKE_FILE} ${LOC_MKF}
|
|||||||
-${Q} if [ -s fpos_tmp ]; then \
|
-${Q} if [ -s fpos_tmp ]; then \
|
||||||
${CAT} fpos_tmp >> $@; \
|
${CAT} fpos_tmp >> $@; \
|
||||||
else \
|
else \
|
||||||
echo '#undef HAVE_FPOS /* no */' >> $@; \
|
echo '#undef HAVE_FGETSETPOS /* no */' >> $@; \
|
||||||
echo '' >> $@; \
|
echo '' >> $@; \
|
||||||
echo 'typedef long FILEPOS;' >> $@; \
|
echo 'typedef long FILEPOS;' >> $@; \
|
||||||
fi
|
fi
|
||||||
@@ -2545,9 +2545,9 @@ have_fpos_pos.h: have_fpos_pos.c have_fpos.h have_posscl.h \
|
|||||||
${Q} echo '#define CALC_HAVE_FPOS_POS_H' >> $@
|
${Q} echo '#define CALC_HAVE_FPOS_POS_H' >> $@
|
||||||
${Q} echo '' >> $@
|
${Q} echo '' >> $@
|
||||||
${Q} echo '' >> $@
|
${Q} echo '' >> $@
|
||||||
${Q} echo '/* do we have fgetpos & fsetpos functions? */' >> $@
|
${Q} echo '/* do we have an __pos element in FILEPOS? */' >> $@
|
||||||
${Q} ${RM} -f have_fpos_pos.o have_fpos_pos${EXT}
|
${Q} ${RM} -f have_fpos_pos.o have_fpos_pos${EXT}
|
||||||
-${Q} ${LCC} ${HAVE_FPOS} ${HAVE_FPOS_POS} ${ICFLAGS} \
|
-${Q} ${LCC} ${HAVE_FGETSETPOS} ${HAVE_FPOS_POS} ${ICFLAGS} \
|
||||||
have_fpos_pos.c -c ${S} \
|
have_fpos_pos.c -c ${S} \
|
||||||
|| ${TRUE}
|
|| ${TRUE}
|
||||||
-${Q} ${LCC} ${ILDFLAGS} have_fpos_pos.o -o have_fpos_pos${EXT} ${S} \
|
-${Q} ${LCC} ${ILDFLAGS} have_fpos_pos.o -o have_fpos_pos${EXT} ${S} \
|
||||||
@@ -4113,7 +4113,7 @@ env:
|
|||||||
@echo 'HAVE_ARC4RANDOM=${HAVE_ARC4RANDOM}'; echo ''
|
@echo 'HAVE_ARC4RANDOM=${HAVE_ARC4RANDOM}'; echo ''
|
||||||
@echo 'HAVE_CONST=${HAVE_CONST}'; echo ''
|
@echo 'HAVE_CONST=${HAVE_CONST}'; echo ''
|
||||||
@echo 'HAVE_ENVIRON=${HAVE_ENVIRON}'; echo ''
|
@echo 'HAVE_ENVIRON=${HAVE_ENVIRON}'; echo ''
|
||||||
@echo 'HAVE_FPOS=${HAVE_FPOS}'; echo ''
|
@echo 'HAVE_FGETSETPOS=${HAVE_FGETSETPOS}'; echo ''
|
||||||
@echo 'HAVE_FPOS_POS=${HAVE_FPOS_POS}'; echo ''
|
@echo 'HAVE_FPOS_POS=${HAVE_FPOS_POS}'; echo ''
|
||||||
@echo 'HAVE_GETPGID=${HAVE_GETPGID}'; echo ''
|
@echo 'HAVE_GETPGID=${HAVE_GETPGID}'; echo ''
|
||||||
@echo 'HAVE_GETPRID=${HAVE_GETPRID}'; echo ''
|
@echo 'HAVE_GETPRID=${HAVE_GETPRID}'; echo ''
|
||||||
|
2
file.c
2
file.c
@@ -2022,7 +2022,7 @@ showfiles(void)
|
|||||||
math_chr('\n');
|
math_chr('\n');
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
printf(" size = %lld\n", (long long int)sizes[i]);
|
printf(" size = %ld\n", (long int)sizes[i]);
|
||||||
for (j = i + 1; j < idnum; j++) {
|
for (j = i + 1; j < idnum; j++) {
|
||||||
if (listed[j] || sizes[j] == -1)
|
if (listed[j] || sizes[j] == -1)
|
||||||
continue;
|
continue;
|
||||||
|
2
file.h
2
file.h
@@ -71,7 +71,7 @@ typedef struct {
|
|||||||
* Some obscure systems without fgetpos/fsetpos may not have a simple
|
* Some obscure systems without fgetpos/fsetpos may not have a simple
|
||||||
* scalar type. In these cases the f_tell macro below will fail.
|
* scalar type. In these cases the f_tell macro below will fail.
|
||||||
*/
|
*/
|
||||||
#if defined(HAVE_FPOS)
|
#if defined(HAVE_FGETSETPOS)
|
||||||
|
|
||||||
#define f_seek_set(stream, loc) fsetpos((FILE*)(stream), (FILEPOS*)(loc))
|
#define f_seek_set(stream, loc) fsetpos((FILE*)(stream), (FILEPOS*)(loc))
|
||||||
#define f_tell(stream, loc) fgetpos((FILE*)(stream), (FILEPOS*)(loc))
|
#define f_tell(stream, loc) fgetpos((FILE*)(stream), (FILEPOS*)(loc))
|
||||||
|
@@ -137,8 +137,7 @@ main(int UNUSED(argc), char **argv)
|
|||||||
* systems a FILEPOS is not a scalar hence we must memcpy.
|
* systems a FILEPOS is not a scalar hence we must memcpy.
|
||||||
*/
|
*/
|
||||||
printf("#define SWAP_HALF_IN_FILEPOS(dest, src)\t%s\n",
|
printf("#define SWAP_HALF_IN_FILEPOS(dest, src)\t%s\n",
|
||||||
"\\\n\tmemcpy((void *)(dest), (void *)(src), "
|
"\\\n\tmemcpy((void *)(dest), (void *)(src), FILEPOS_LEN)");
|
||||||
"sizeof(FPOSPOS_LEN))");
|
|
||||||
#endif /* HAVE_FILEPOS_SCALAR */
|
#endif /* HAVE_FILEPOS_SCALAR */
|
||||||
#endif /* CALC_BYTE_ORDER == BIG_ENDIAN */
|
#endif /* CALC_BYTE_ORDER == BIG_ENDIAN */
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
|
@@ -25,7 +25,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If the symbol HAVE_NO_FPOS is defined, we will output nothing.
|
* If the symbol HAVE_NO_FGETSETPOS is defined, we will output nothing.
|
||||||
* If we are able to compile this program, then we must have the
|
* If we are able to compile this program, then we must have the
|
||||||
* fgetpos and fsetpos functions and we will output the
|
* fgetpos and fsetpos functions and we will output the
|
||||||
* appropriate have_fpos.h file body.
|
* appropriate have_fpos.h file body.
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
int
|
int
|
||||||
main(void)
|
main(void)
|
||||||
{
|
{
|
||||||
#if !defined(HAVE_NO_FPOS)
|
#if !defined(HAVE_NO_FGETSETPOS)
|
||||||
fpos_t pos; /* file position */
|
fpos_t pos; /* file position */
|
||||||
|
|
||||||
/* get the current position */
|
/* get the current position */
|
||||||
@@ -50,8 +50,8 @@ main(void)
|
|||||||
(void) fsetpos(stdin, &pos);
|
(void) fsetpos(stdin, &pos);
|
||||||
|
|
||||||
/* print a have_fpos.h body that says we have the functions */
|
/* print a have_fpos.h body that says we have the functions */
|
||||||
printf("#undef HAVE_FPOS\n");
|
printf("#undef HAVE_FGETSETPOS\n");
|
||||||
printf("#define HAVE_FPOS 1 /* yes */\n\n");
|
printf("#define HAVE_FGETSETPOS 1 /* yes */\n\n");
|
||||||
printf("typedef fpos_t FILEPOS;\n");
|
printf("typedef fpos_t FILEPOS;\n");
|
||||||
#endif
|
#endif
|
||||||
/* exit(0); */
|
/* exit(0); */
|
||||||
|
@@ -24,12 +24,6 @@
|
|||||||
* Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
|
* Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* If the symbol HAVE_NO_FPOS is defined, we will output nothing.
|
|
||||||
* If the HAVE_FILEPOS_SCALAR is defined, we will output nothing.
|
|
||||||
* If we are able to compile this program, then we must have the
|
|
||||||
* __pos element in a non-scalar FILEPOS.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "have_fpos.h"
|
#include "have_fpos.h"
|
||||||
@@ -42,29 +36,43 @@
|
|||||||
int
|
int
|
||||||
main(void)
|
main(void)
|
||||||
{
|
{
|
||||||
#if !defined(HAVE_NO_FPOS) && !defined(HAVE_FILEPOS_SCALAR)
|
#if defined(HAVE_FILEPOS_SCALAR)
|
||||||
fpos_t pos; /* file position */
|
|
||||||
|
|
||||||
/* print a __pos element in fpos_t */
|
printf("/* HAVE_FILEPOS_SCALAR is defined, we assume FILEPOS is scalar */\n");
|
||||||
printf("#undef HAVE_FPOS_POS\n");
|
printf("/* we assume we have no __pos in FILEPOS */\n");
|
||||||
printf("#define HAVE_FPOS_POS 1 /* yes */\n\n");
|
|
||||||
|
|
||||||
/* determine __pos element size */
|
|
||||||
printf("#undef FPOS_POS_BITS\n");
|
|
||||||
printf("#undef FPOSPOS_LEN\n");
|
|
||||||
# if defined(FPOS_POS_BITS)
|
|
||||||
printf("#define FPOS_POS_BITS %d\n", FPOS_POS_BITS);
|
|
||||||
printf("#define FPOSPOS_LEN %d\n", int(FPOS_POS_BITS/8));
|
|
||||||
# else
|
|
||||||
printf("#define FPOS_POS_BITS %lu\n", sizeof(pos.__pos)*8);
|
|
||||||
printf("#define FPOSPOS_LEN %lu\n", sizeof(pos.__pos));
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#else
|
|
||||||
/* we have no __pos element */
|
|
||||||
printf("#undef HAVE_FPOS_POS\t/* no */\n");
|
printf("#undef HAVE_FPOS_POS\t/* no */\n");
|
||||||
printf("#undef FPOS_POS_BITS\n");
|
printf("#undef FPOS_POS_BITS\n");
|
||||||
printf("#undef FPOSPOS_LEN\n");
|
printf("#undef FPOS_POS_LEN\n");
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
printf("/* HAVE_FILEPOS_SCALAR is undefined, we assume FILEPOS is not scalar */\n");
|
||||||
|
# if defined(HAVE_NO_FPOS_POS)
|
||||||
|
printf("/* HAVE_NO_FPOS_POS defiled, we assume we have no __pos in FILEPOS */\n");
|
||||||
|
printf("#undef HAVE_FPOS_POS\t/* no */\n");
|
||||||
|
printf("#undef FPOS_POS_BITS\n");
|
||||||
|
printf("#undef FPOS_POS_LEN\n");
|
||||||
|
|
||||||
|
# elif defined(FPOS_POS_BITS)
|
||||||
|
printf("/* FPOS_POS_BITS defiled, assume we have __pos in FILEPOS */\n");
|
||||||
|
printf("#undef HAVE_FPOS_POS\n");
|
||||||
|
printf("#define HAVE_FPOS_POS 1 /* yes */\n");
|
||||||
|
printf("#undef FPOS_POS_BITS\n");
|
||||||
|
printf("#define FPOS_POS_BITS %d\n", FPOS_POS_BITS);
|
||||||
|
printf("#undef FPOS_POS_LEN\n");
|
||||||
|
printf("#define FPOS_POS_LEN %d\n", int(FPOS_POS_BITS/8));
|
||||||
|
# else
|
||||||
|
fpos_t pos; /* file position */
|
||||||
|
|
||||||
|
memset(&pos, 0, sizeof(pos)); /* zeroize pos to "set it" */
|
||||||
|
printf("/* we successfully compiled with a fpos_t type wit an __pos element */\n");
|
||||||
|
printf("#undef HAVE_FPOS_POS\n");
|
||||||
|
printf("#define HAVE_FPOS_POS 1 /* yes */\n");
|
||||||
|
printf("#undef FPOS_POS_BITS\n");
|
||||||
|
printf("#define FPOS_POS_BITS %lu\n", sizeof(pos.__pos)*8);
|
||||||
|
printf("#undef FPOS_POS_LEN\n");
|
||||||
|
printf("#define FPOS_POS_LEN %lu\n", sizeof(pos.__pos));
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
/* exit(0); */
|
/* exit(0); */
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user