mirror of
https://github.com/lcn2/calc.git
synced 2025-08-19 01:13:27 +03:00
Compare commits
4 Commits
2.10.3t5.4
...
2.11.0t2
Author | SHA1 | Date | |
---|---|---|---|
|
4b98d5ff0e | ||
|
bad4535616 | ||
|
5307c4e16b | ||
|
b4e94b7eaa |
129
BUGS
129
BUGS
@@ -89,3 +89,132 @@ Known problems or mis-features:
|
||||
* There is some places in the source with obscure variable names
|
||||
and not much in the way of comments. We need some major cleanup
|
||||
and documentation.
|
||||
|
||||
* On a Dec Alpha, make check for version 2.11.0t1 core dumps:
|
||||
|
||||
From vandermj@molbio.sbphrd.com Fri Sep 24 06:15:28 1999
|
||||
Subject: Re: calc version 2.11.0t1
|
||||
Date: Fri, 24 Sep 1999 09:15:02 -0400
|
||||
|
||||
It dies as follows:
|
||||
|
||||
...
|
||||
1802: a = surd(2,3)
|
||||
1803: a == surd(2,3)
|
||||
1804: surd_value(a) == 2+3i
|
||||
Segmentation fault
|
||||
|
||||
dbx shows:
|
||||
signal Segmentation fault at [objcall:155 +0xc,0x1200507b4] index = oap->actions[action];
|
||||
(dbx) where
|
||||
> 0 objcall(action = 14, v1 = 0x1400203d0, v2 = 0x1400203e0, v3 = (nil)) ["obj.c":155, 0x1200507b4]
|
||||
1 comparevalue(v1 = 0x1400203d0, v2 = 0x1400203e0) ["value.c":2329, 0x12007f250]
|
||||
2 o_eq() ["opcodes.c":2659, 0x12003728c]
|
||||
3 calculate(fp = 0x14007fce0) ["opcodes.c":3614, 0x12003942c]
|
||||
4 o_usercall(fp = 0x14007fce0, index = 39, argcount = 0) ["opcodes.c":2602, 0x120037080]
|
||||
5 calculate(fp = 0x14003bfa0) ["opcodes.c":3622, 0x120039488]
|
||||
6 evaluate(nestflag = 14) ["codegen.c":210, 0x120028768]
|
||||
7 getcommands(toplevel = 536864560) ["codegen.c":158, 0x1200285bc]
|
||||
8 getcommands(toplevel = 536864560) ["codegen.c":122, 0x1200284dc]
|
||||
9 main() ["calc.c":279, 0x12001f61c]
|
||||
|
||||
However On 25-Sep-99 9:18, Ernest Bowen wrote:
|
||||
|
||||
Last night I downloaded 2.11.0t1 and without changing Makefile
|
||||
or anything else did a make and make check. Absolutely no
|
||||
reported errors or warnings and the check "passed all tests".
|
||||
The machine I'm using is a Dec 20 alpha running Digitial
|
||||
UNIX V4.0B (Rev 564).
|
||||
|
||||
Any ideas on how to reconcile these different results?
|
||||
|
||||
* On Sun SPARCstation running Solaris 2.5.1 compiling with
|
||||
cc version 4.0 with -Xc option 'make check' fails on the hash
|
||||
functions. However when compiled with gcc everything seems to
|
||||
work just fine.
|
||||
|
||||
From: "Dr.D.J.Picton" <dave@aps5.ph.bham.ac.uk>
|
||||
Date: Fri, 8 May 1998 10:54:43 +0100
|
||||
|
||||
Platform: Sun SPARCstation
|
||||
|
||||
Operating system: Solaris 2.5.1
|
||||
|
||||
Compiler: cc version 4.0 with -Xc option.
|
||||
|
||||
The code compiled OK but the sha() and sha1() functions give errors with
|
||||
make check. These functions clearly are broken. For example,
|
||||
sha(sha()) gives
|
||||
|
||||
0xea19f96cdd568ad1084a17acc6103d92c0ef7708 not
|
||||
0xf96cea198ad1dd5617ac084a3d92c6107708c0ef
|
||||
|
||||
Interestingly, the consistency checks work OK e.g.
|
||||
>B = blk() = {"a", "b", "c"};
|
||||
>sha(B) == sha("abc");
|
||||
1
|
||||
|
||||
**** Non-true result (0): 7108: sha(sha()) ==
|
||||
0xf96cea198ad1dd5617ac084a3d92c6107708c0ef
|
||||
**** Non-true result (0): 7109:
|
||||
sha(sha("a"))==0x37f297772fae4cb1ba39b6cf9cf0381180bd62f2
|
||||
**** Non-true result (0): 7110:
|
||||
sha(sha("ab"))==0x488373d362684af3d3f7a6a408b59dfe85419e09
|
||||
**** Non-true result (0): 7111:
|
||||
sha(sha("abc"))==0x0164b8a914cd2a5e74c4f7ff082c4d97f1edf880
|
||||
**** Non-true result (0): 7112:
|
||||
sha(sha("abcd"))==0x082c73b06f71185d840fb4b28eb3abade67714bc
|
||||
**** Non-true result (0): 7113:
|
||||
sha(sha("abcde"))==0xd624e34951bb800f0acae773001df8cffe781ba8
|
||||
**** Non-true result (0): 7114:
|
||||
sha(sha("abcdef"))==0x2a589f7750598dc0ea0a608719e04327f609279a
|
||||
**** Non-true result (0): 7115:
|
||||
sha(sha("abcdefg"))==0x5bdf01f9298e9d19d3f8d15520fd74eed600b497
|
||||
**** Non-true result (0): 7116:
|
||||
sha(sha("abcdefgh"))==0x734ba8b31975d0dbae4d6e249f4e8da270796c94
|
||||
**** Non-true result (0): 7117: sha(sha(1)) ==
|
||||
0x864c8d09e828c7c31d62693736a5a9302c282777
|
||||
**** Non-true result (0): 7118: sha(sha(2)) ==
|
||||
0x2c0b59c512cb20fad6bb0883b69c9f5a46545808
|
||||
**** Non-true result (0): 7119:
|
||||
sha(sha(22/7)==0x7ddb7f8a7e9d70757f157744fddea7a6c6a6bcc6
|
||||
**** Non-true result (0): 7120:
|
||||
sha(sha(isqrt(2e1000)==0x6db8d9cf0b018b8f9cbbf5aa1edb8066d19e1bb0
|
||||
7121: sha("x", "y", "z") == sha("xyz")
|
||||
**** Non-true result (0): 7122: sha(sha("this is", 7^19-8, ..., "hash")) ==
|
||||
0x21e4...
|
||||
7123: z = sha(list(1,2,3), "curds and whey", 2^21701-1, pi());
|
||||
**** Non-true result (0): 7124: sha(z) ==
|
||||
0x36dcca3e51865c30a2cf738023cda446f1368340
|
||||
|
||||
**** Non-true result (0): 7207: sha1(sha1()) ==
|
||||
0xda39a3ee5e6b4b0d3255bfef95601890afd80709
|
||||
7208: sha1("x", "y", "z") == sha1("xyz")
|
||||
**** Non-true result (0): 7209: sha1(sha1("this is",7^19-8,"a
|
||||
composit",3i+4.5,"hash")) == ...
|
||||
7210: z = sha1(list(1,2,3), "curds and whey", 2^21701-1, pi());
|
||||
**** Non-true result (0): 7211: sha1(z) ==
|
||||
0xc19e7317675dbf71e293b4c41e117169e9da5b6f
|
||||
|
||||
**** Non-true result (0): 7217:
|
||||
sha1(sha1("a"))==0x86f7e437faa5a7fce15d1ddcb9eaeaea377667b8
|
||||
**** Non-true result (0): 7218:
|
||||
sha1(sha1("ab"))==0xda23614e02469a0d7c7bd1bdab5c9c474b1904dc
|
||||
**** Non-true result (0): 7219:
|
||||
sha1(sha1("abc"))==0xa9993e364706816aba3e25717850c26c9cd0d89d
|
||||
**** Non-true result (0): 7220:
|
||||
sha1(sha1("abcd"))==0x81fe8bfe87576c3ecb22426f8e57847382917acf
|
||||
**** Non-true result (0): 7221:
|
||||
sha1(sha1("abcde"))==0x03de6c570bfe24bfc328ccd7ca46b76eadaf4334
|
||||
**** Non-true result (0): 7222:
|
||||
sha1(sha1("abcdef"))==0x1f8ac10f23c5b5bc1167bda84b833e5c057a77d2
|
||||
**** Non-true result (0): 7223:
|
||||
sha1(sha1("abcdefg"))==0x2fb5e13419fc89246865e7a324f476ec624e8740
|
||||
**** Non-true result (0): 7224:
|
||||
sha1(sha1("abcdefgh"))==0x425af12a0743502b322e93a015bcf868e324d56a
|
||||
**** Non-true result (0): 7225:
|
||||
sha1(sha1(1))==0x53dd4e1734ad47d45e41c23e4ce42d7f1f98c1e8
|
||||
**** Non-true result (0): 7226:
|
||||
sha1(sha1(22/7))==0xf8e2510f85f7b9bf088b321188e9f70620f44246
|
||||
**** Non-true result (0): 7227:
|
||||
sha1(sha1(isqrt(2e1000)))==0x6852a1365c51050c3d039e3c5d9cf29c12283ef4
|
||||
|
34
CHANGES
34
CHANGES
@@ -1,4 +1,33 @@
|
||||
Following is the change from calc version 2.10.3t5.38 to date:
|
||||
Following is the change from calc version 2.11.0t1 to date:
|
||||
|
||||
Removed the makefile symbol MAIN. Now forcing all funcions to correctly
|
||||
be reclared main. To passify some old broken compilers, a return 0;
|
||||
(instead of an exit(0);) is used at the end of main().
|
||||
|
||||
A few of files that were added to calc used 4 character indentation
|
||||
whereas most of calc uses 8 character indentation. These imported
|
||||
sources have been changed to conform better with the calc style.
|
||||
|
||||
Fixed misc compile warnings.
|
||||
|
||||
Added the program calc_errno.c and the Makefile symbol ERRNO_DECL.
|
||||
If ERRNO_DECL is empty, calc_errno.c will try various ways to
|
||||
declare errno, sys_errlist and sys_nerr. On success or when
|
||||
it gives up, calc_errno will output the middle of the calc_errno.h
|
||||
header file. If ERRNO_DECL is -DERRNO_NO_DECL, or -DERRNO_STD_DECL
|
||||
or -DERRNO_OLD_DECL then the Makefile will build the middle
|
||||
of the calc_errno.h header file without calc_errno.c's help.
|
||||
|
||||
The func.c file now includes the constructed header file calc_errno.h
|
||||
to ensure that errno, sys_errlist and sys_nerr are declared correctly.
|
||||
|
||||
|
||||
Following is the change from calc version 2.10.3t5.38 to 2.11.0t0:
|
||||
|
||||
Fixed a few compile problems found under Red Hat 6.0 Linux.
|
||||
|
||||
|
||||
Following is the change from calc version 2.10.3t5.38 to 2.11.3t5.46:
|
||||
|
||||
Fixed a bug discovered by Ernest Bowen related to matrix-to-matrix copies.
|
||||
|
||||
@@ -51,6 +80,9 @@ Following is the change from calc version 2.10.3t5.38 to date:
|
||||
The function version(), now returns a malloced version string
|
||||
without the title.
|
||||
|
||||
Consolidated multiple SGI IRIX -n32 sections (for r4k, r5k and r10k)
|
||||
into a single section.
|
||||
|
||||
|
||||
Following is the change from calc version 2.10.3t5.34 to 2.10.3t5.37:
|
||||
|
||||
|
340
Makefile
340
Makefile
@@ -206,17 +206,38 @@ HAVE_MEMMOVE=
|
||||
ALIGN32= -DMUST_ALIGN32
|
||||
#ALIGN32= -UMUST_ALIGN32
|
||||
|
||||
# The return value type of main() differs from platform to platform.
|
||||
# In some cases, a compiler warning is issued because main() does
|
||||
# or does not return a value.
|
||||
# On most machines: errno sys_errlist and sys_nerr are declared
|
||||
# by either <stdio.h> and/or <errno.h>. But some systems declare
|
||||
# them somewhere else or do not declare them at all!
|
||||
#
|
||||
# MAIN= -DMAIN=void main() is of type void
|
||||
# MAIN= -DMAIN=int main() is of type int
|
||||
# If the system were doing a proper job in headers, this should declare them:
|
||||
#
|
||||
# When in doubt, try MAIN= -DMAIN=void. If you get a warning try the other.
|
||||
# #include <stdio.h>
|
||||
# #include <errno.h>
|
||||
#
|
||||
MAIN= -DMAIN=void
|
||||
#MAIN= -DMAIN=int
|
||||
# But one some systems one must explicitly declare them as:
|
||||
#
|
||||
# extern int errno;
|
||||
# extern const char *const sys_errlist[];
|
||||
# extern int sys_nerr;
|
||||
#
|
||||
# and on some old systems they must be explicitly and incorrectly declared as:
|
||||
#
|
||||
# extern int errno;
|
||||
# extern char *sys_errlist[];
|
||||
# extern int sys_nerr;
|
||||
#
|
||||
# ERRNO_DECL= let calc_errno.c determine how to declare them
|
||||
# ERRNO_DECL= -DERRNO_NO_DECL headers declare them correctly
|
||||
# ERRNO_DECL= -DERRNO_STD_DECL one must explicitly declare then
|
||||
# ERRNO_DECL= -DERRNO_OLD_DECL one must explicitly & incorrectly declare them
|
||||
#
|
||||
# When in doubt, be safe leave ERRNO_DECL empty.
|
||||
#
|
||||
ERRNO_DECL=
|
||||
#ERRNO_DECL= -DERRNO_NO_DECL
|
||||
#ERRNO_DECL= -DERRNO_STD_DECL
|
||||
#ERRNO_DECL= -DERRNO_OLD_DECL
|
||||
|
||||
# where to install binary files
|
||||
#
|
||||
@@ -332,7 +353,7 @@ CALCPAGER= more
|
||||
|
||||
# Debug/Optimize options for ${CC}
|
||||
#
|
||||
DEBUG= -O
|
||||
#DEBUG= -O
|
||||
#DEBUG= -O -g
|
||||
#DEBUG= -O -g3
|
||||
#DEBUG= -O1
|
||||
@@ -340,7 +361,7 @@ DEBUG= -O
|
||||
#DEBUG= -O1 -g3
|
||||
#DEBUG= -O2
|
||||
#DEBUG= -O2 -g
|
||||
#DEBUG= -O2 -g3
|
||||
DEBUG= -O2 -g3
|
||||
#DEBUG= -O2 -ipa
|
||||
#DEBUG= -O2 -g3 -ipa
|
||||
#DEBUG= -O3
|
||||
@@ -388,8 +409,8 @@ LD_NO_SHARED=
|
||||
# a *.a library. Set RANLIB to the utility that performs this action.
|
||||
# Set RANLIB to : if your system does not need such a utility.
|
||||
#
|
||||
#RANLIB=ranlib
|
||||
RANLIB=:
|
||||
RANLIB=ranlib
|
||||
#RANLIB=:
|
||||
|
||||
# Some systems are able to form lint libs. How it is formed depends
|
||||
# on your system. If you do not care about lint, use : as the
|
||||
@@ -507,21 +528,21 @@ ALLOW_CUSTOM= -DCUSTOM
|
||||
#
|
||||
# common cc set
|
||||
#
|
||||
CCWARN=
|
||||
CCOPT= ${DEBUG} ${NO_SHARED}
|
||||
CCMISC=
|
||||
#CCWARN=
|
||||
#CCOPT= ${DEBUG} ${NO_SHARED}
|
||||
#CCMISC=
|
||||
#
|
||||
CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
#ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#
|
||||
CCMAIN= ${ICFLAGS} ${MAIN}
|
||||
CCSHS= ${CFLAGS}
|
||||
#CCMAIN= ${ICFLAGS}
|
||||
#CCSHS= ${CFLAGS}
|
||||
#
|
||||
LCFLAGS=
|
||||
LDFLAGS= ${NO_SHARED} ${LD_NO_SHARED}
|
||||
ILDFLAGS=
|
||||
#LCFLAGS=
|
||||
#LDFLAGS= ${NO_SHARED} ${LD_NO_SHARED}
|
||||
#ILDFLAGS=
|
||||
#
|
||||
CC= ${PURIFY} cc
|
||||
#CC= ${PURIFY} cc
|
||||
#
|
||||
###
|
||||
#
|
||||
@@ -545,7 +566,7 @@ CC= ${PURIFY} cc
|
||||
#CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
#ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#
|
||||
#CCMAIN= ${ICFLAGS} ${MAIN}
|
||||
#CCMAIN= ${ICFLAGS}
|
||||
#CCSHS= ${CFLAGS}
|
||||
#
|
||||
#LCFLAGS=
|
||||
@@ -556,7 +577,7 @@ CC= ${PURIFY} cc
|
||||
#
|
||||
###
|
||||
#
|
||||
# SGI IRIX6.2 (or later) -n32 (v7.1 or later) Compiler for the R4k
|
||||
# SGI IRIX6.2 (or later) -n32 (v7.1 or later) Compiler
|
||||
#
|
||||
# You must set above:
|
||||
# RANLIB=:
|
||||
@@ -572,87 +593,19 @@ CC= ${PURIFY} cc
|
||||
#
|
||||
#CCWARN= -fullwarn -woff 1209
|
||||
#CCOPT= ${DEBUG} ${NO_SHARED}
|
||||
#CCMISC= -use_readonly_const
|
||||
#CCMISC= -rdata_shared
|
||||
#
|
||||
#CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
#ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#
|
||||
#CCMAIN= ${ICFLAGS} ${MAIN}
|
||||
#CCSHS= ${CFLAGS}
|
||||
#CCMAIN= ${ICFLAGS}
|
||||
#CCSHS=
|
||||
#
|
||||
#LCFLAGS=
|
||||
#LDFLAGS= ${NO_SHARED} ${LD_NO_SHARED}
|
||||
#ILDFLAGS=
|
||||
#
|
||||
#CC= ${PURIFY} cc -n32 -r4000 -xansi
|
||||
#
|
||||
###
|
||||
#
|
||||
# SGI IRIX6.2 (or later) -n32 (v7.1 or later) Compiler for the R5k
|
||||
#
|
||||
# You must set above:
|
||||
# RANLIB=:
|
||||
#
|
||||
# for better performance, set the following above:
|
||||
# DEBUG= -O2 -g3
|
||||
#
|
||||
# If you have the directory /usr/lib32/nonshared, then set the following above:
|
||||
# NO_SHARED= -non_shared
|
||||
# LD_NO_SHARED= -Wl,-rdata_shared
|
||||
#
|
||||
# woff 1209: cancel 'controlling expression is constant' warnings
|
||||
#
|
||||
#CCWARN= -fullwarn -woff 1209
|
||||
#CCOPT= ${DEBUG} ${NO_SHARED}
|
||||
#CCMISC= -use_readonly_const
|
||||
#
|
||||
#CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
#ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#
|
||||
#CCMAIN= ${ICFLAGS} ${MAIN}
|
||||
#CCSHS= ${CFLAGS}
|
||||
#
|
||||
#LCFLAGS=
|
||||
#LDFLAGS= ${NO_SHARED} ${LD_NO_SHARED}
|
||||
#ILDFLAGS=
|
||||
#
|
||||
#CC= ${PURIFY} cc -n32 -r5000 -xansi
|
||||
#
|
||||
###
|
||||
#
|
||||
# SGI IRIX6.5 (or later) -n32 (v7.2 or later) Compiler for the R10k
|
||||
#
|
||||
# NOTE: For Pre IRIX6.5 and pre v7.2 compilers, use:
|
||||
#
|
||||
# CCSHS= ${CFLAGS} -OPT:fold_arith_limit=1668
|
||||
#
|
||||
# You must set above:
|
||||
# RANLIB=:
|
||||
#
|
||||
# for better performance, set the following above:
|
||||
# DEBUG= -O2 -g3
|
||||
#
|
||||
# If you have the directory /usr/lib32/nonshared, then set the following above:
|
||||
# NO_SHARED= -non_shared
|
||||
# LD_NO_SHARED= -Wl,-rdata_shared
|
||||
#
|
||||
# woff 1209: cancel 'controlling expression is constant' warnings
|
||||
#
|
||||
#CCWARN= -fullwarn -woff 1209
|
||||
#CCOPT= ${DEBUG} ${NO_SHARED}
|
||||
#CCMISC= -use_readonly_const
|
||||
#
|
||||
#CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
#ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#
|
||||
#CCMAIN= ${ICFLAGS} ${MAIN}
|
||||
#CCSHS= ${CFLAGS}
|
||||
#
|
||||
#LCFLAGS=
|
||||
#LDFLAGS= ${NO_SHARED} ${LD_NO_SHARED}
|
||||
#ILDFLAGS=
|
||||
#
|
||||
#CC= ${PURIFY} cc -n32 -r10000 -mips4 -xansi
|
||||
#CC= ${PURIFY} cc -n32 -xansi
|
||||
#
|
||||
###
|
||||
#
|
||||
@@ -671,7 +624,7 @@ CC= ${PURIFY} cc
|
||||
#CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
#ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#
|
||||
#CCMAIN= ${ICFLAGS} ${MAIN}
|
||||
#CCMAIN= ${ICFLAGS}
|
||||
#CCSHS= ${CFLAGS}
|
||||
#
|
||||
#LCFLAGS=
|
||||
@@ -691,7 +644,7 @@ CC= ${PURIFY} cc
|
||||
#CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
#ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#
|
||||
#CCMAIN= ${ICFLAGS} ${MAIN}
|
||||
#CCMAIN= ${ICFLAGS}
|
||||
#CCSHS= ${CFLAGS}
|
||||
#
|
||||
#LCFLAGS=
|
||||
@@ -702,29 +655,6 @@ CC= ${PURIFY} cc
|
||||
#
|
||||
###
|
||||
#
|
||||
# BSDI's BSD/OS 2.0 (or later) set
|
||||
#
|
||||
# for better performance, set the following above:
|
||||
# DEBUG= -O2
|
||||
#
|
||||
#CCWARN= -Wall -Wno-implicit -Wno-comment
|
||||
#CCOPT= ${DEBUG} ${NO_SHARED}
|
||||
#CCMISC= -ansi
|
||||
#
|
||||
#CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
#ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#
|
||||
#CCMAIN= ${ICFLAGS} ${MAIN}
|
||||
#CCSHS= ${CFLAGS}
|
||||
#
|
||||
#LCFLAGS=
|
||||
#LDFLAGS= ${NO_SHARED} ${LD_NO_SHARED}
|
||||
#ILDFLAGS=
|
||||
#
|
||||
#CC= ${PURIFY} shlicc2
|
||||
#
|
||||
###
|
||||
#
|
||||
# Solaris 2.x Sun cc compiler
|
||||
#
|
||||
# for better performance, set the following above:
|
||||
@@ -737,7 +667,7 @@ CC= ${PURIFY} cc
|
||||
#CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
#ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#
|
||||
#CCMAIN= ${ICFLAGS} ${MAIN}
|
||||
#CCMAIN= ${ICFLAGS}
|
||||
#CCSHS= ${CFLAGS}
|
||||
#
|
||||
#LCFLAGS=
|
||||
@@ -748,74 +678,50 @@ CC= ${PURIFY} cc
|
||||
#
|
||||
###
|
||||
#
|
||||
# gcc set
|
||||
# Red Hat Linux 6.0 and BSDI's BSD/OS 4.0 (or later) set
|
||||
#
|
||||
# for better performance, set the following above:
|
||||
# DEBUG= -O
|
||||
# DEBUG= -O2
|
||||
#
|
||||
#CCWARN= -Wall
|
||||
#CCOPT= ${DEBUG} ${NO_SHARED}
|
||||
#CCMISC= -ansi
|
||||
CCWARN= -Wall -Wno-implicit -Wno-comment
|
||||
CCOPT= ${DEBUG} ${NO_SHARED}
|
||||
CCMISC=
|
||||
#
|
||||
#CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
#ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#
|
||||
#CCMAIN= ${ICFLAGS} ${MAIN}
|
||||
#CCSHS= ${CFLAGS}
|
||||
CCMAIN= ${ICFLAGS}
|
||||
CCSHS= ${CFLAGS}
|
||||
#
|
||||
#LCFLAGS=
|
||||
#LDFLAGS= ${NO_SHARED} ${LD_NO_SHARED}
|
||||
#ILDFLAGS=
|
||||
LCFLAGS=
|
||||
LDFLAGS= ${NO_SHARED} ${LD_NO_SHARED}
|
||||
ILDFLAGS=
|
||||
#
|
||||
#CC= ${PURIFY} gcc
|
||||
CC= ${PURIFY} gcc
|
||||
#
|
||||
###
|
||||
#
|
||||
# gcc1 set (some call it gcc1, some call it gcc)
|
||||
#
|
||||
# for better performance, set the following above:
|
||||
# DEBUG= -O
|
||||
#
|
||||
#CCWARN= -Wall
|
||||
#CCOPT= ${DEBUG} ${NO_SHARED}
|
||||
#CCMISC= -ansi
|
||||
#
|
||||
#CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
#ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#
|
||||
#CCMAIN= ${ICFLAGS} ${MAIN}
|
||||
#CCSHS= ${CFLAGS}
|
||||
#
|
||||
#LCFLAGS=
|
||||
#LDFLAGS= ${NO_SHARED} ${LD_NO_SHARED}
|
||||
#ILDFLAGS=
|
||||
#
|
||||
#CC= ${PURIFY} gcc1
|
||||
#CC= ${PURIFY} gcc
|
||||
#
|
||||
###
|
||||
#
|
||||
# gcc2 set (some call it gcc2, some call it gcc)
|
||||
# gcc set (some call it gcc2, some call it gcc)
|
||||
#
|
||||
# for better performance, set the following above:
|
||||
# DEBUG= -O2
|
||||
#
|
||||
#CCWARN= -Wall -Wno-implicit -Wno-comment
|
||||
#CCOPT= ${DEBUG} ${NO_SHARED}
|
||||
#CCMISC= -ansi
|
||||
#CCMISC=
|
||||
#
|
||||
#CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC}
|
||||
#ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#
|
||||
#CCMAIN= ${ICFLAGS} ${MAIN}
|
||||
#CCMAIN= ${ICFLAGS}
|
||||
#CCSHS= ${CFLAGS}
|
||||
#
|
||||
#LCFLAGS=
|
||||
#LDFLAGS= ${NO_SHARED} ${LD_NO_SHARED}
|
||||
#ILDFLAGS=
|
||||
#
|
||||
#CC= ${PURIFY} gcc2
|
||||
#CC= ${PURIFY} gcc
|
||||
#CC= ${PURIFY} gcc2
|
||||
|
||||
##############################################################################
|
||||
#-=-=-=-=-=-=-=-=- Be careful if you change something below -=-=-=-=-=-=-=-=-#
|
||||
@@ -902,7 +808,7 @@ BUILD_H_SRC= align32.h args.h calcerr.h conf.h endian_calc.h \
|
||||
fposval.h have_const.h have_fpos.h have_malloc.h \
|
||||
have_memmv.h have_newstr.h have_offscl.h have_posscl.h \
|
||||
have_stdlib.h have_string.h have_times.h have_uid_t.h \
|
||||
have_unistd.h longbits.h longlong.h terminal.h
|
||||
have_unistd.h longbits.h longlong.h terminal.h calc_errno.h
|
||||
|
||||
# we build these .c files during the make
|
||||
#
|
||||
@@ -914,7 +820,7 @@ BUILD_C_SRC= calcerr.c
|
||||
#
|
||||
UTIL_C_SRC= align32.c endian.c longbits.c have_newstr.c have_uid_t.c \
|
||||
have_const.c have_stdvs.c have_varvs.c fposval.c have_fpos.c \
|
||||
longlong.c have_offscl.c have_posscl.c have_memmv.c
|
||||
longlong.c have_offscl.c have_posscl.c have_memmv.c calc_errno.c
|
||||
|
||||
# these awk and sed tools are used in the process of building BUILD_H_SRC
|
||||
# and BUILD_C_SRC
|
||||
@@ -928,16 +834,17 @@ UTIL_MISC_SRC= calcerr_h.sed calcerr_h.awk calcerr_c.sed calcerr_c.awk \
|
||||
#
|
||||
UTIL_OBJS= endian.o longbits.o have_newstr.o have_uid_t.o \
|
||||
have_const.o fposval.o have_fpos.o longlong.o try_strarg.o \
|
||||
have_stdvs.o have_varvs.o have_posscl.o have_memmv.o
|
||||
have_stdvs.o have_varvs.o have_posscl.o have_memmv.o calc_errno.o
|
||||
|
||||
# these temp files may be created (and removed) during the build of BUILD_C_SRC
|
||||
#
|
||||
UTIL_TMP= ll_tmp fpos_tmp fposv_tmp const_tmp uid_tmp newstr_tmp vs_tmp
|
||||
UTIL_TMP= ll_tmp fpos_tmp fposv_tmp const_tmp uid_tmp newstr_tmp vs_tmp \
|
||||
calc_errno_tmp
|
||||
|
||||
# these utility progs may be used in the process of building BUILD_H_SRC
|
||||
#
|
||||
UTIL_PROGS= align32 fposval have_uid_t longlong have_const \
|
||||
endian longbits have_newstr have_stdvs have_varvs
|
||||
endian longbits have_newstr have_stdvs have_varvs calc_errno
|
||||
|
||||
# These files are required by the regress.cal regression test.
|
||||
#
|
||||
@@ -981,7 +888,6 @@ SAMPLE_PASSDOWN= Q="${Q}" \
|
||||
TOPDIR="${TOPDIR}" \
|
||||
LIBDIR="${LIBDIR}" \
|
||||
HELPDIR="${HELPDIR}" \
|
||||
MAIN="${MAIN}" \
|
||||
DEBUG="${DEBUG}" \
|
||||
NO_SHARED="${NO_SHARED}" \
|
||||
RANLIB="${RANLIB}" \
|
||||
@@ -1909,6 +1815,98 @@ args.h: have_stdvs.c have_varvs.c have_string.h have_unistd.h have_string.h
|
||||
true; \
|
||||
fi
|
||||
|
||||
calc_errno.h: calc_errno.c ${MAKE_FILE}
|
||||
-${Q}rm -f calc_errno.h calc_errno calc_errno_tmp
|
||||
${Q}echo 'forming calc_errno.h'
|
||||
${Q}echo '/*' > calc_errno.h
|
||||
${Q}echo ' * DO NOT EDIT -- generated by the Makefile' >> calc_errno.h
|
||||
${Q}echo ' */' >> calc_errno.h
|
||||
${Q}echo '' >> calc_errno.h
|
||||
${Q}echo '' >> calc_errno.h
|
||||
${Q}echo '#if !defined(__CALC_ERRNO_H__)' >> calc_errno.h
|
||||
${Q}echo '#define __CALC_ERRNO_H__' >> calc_errno.h
|
||||
${Q}echo '' >> calc_errno.h
|
||||
${Q}echo '' >> calc_errno.h
|
||||
-${Q}if [ X"${ERRNO_DECL}" = X"-DERRNO_NO_DECL" ]; then \
|
||||
echo '/*' >> calc_errno.h; \
|
||||
echo ' * The calc Makefile explicitly told us' >> calc_errno.h; \
|
||||
echo ' * how to declare errno and friends.' >> calc_errno.h; \
|
||||
echo ' */' >> calc_errno.h; \
|
||||
echo '' >> calc_errno.h; \
|
||||
echo '#include <stdio.h>' >> calc_errno.h; \
|
||||
echo '#include <errno.h>' >> calc_errno.h; \
|
||||
elif [ X"${ERRNO_DECL}" = X"-DERRNO_STD_DECL" ]; then \
|
||||
echo '/*' >> calc_errno.h; \
|
||||
echo ' * The calc Makefile explicitly told us' >> calc_errno.h; \
|
||||
echo ' * how to declare errno and friends.' >> calc_errno.h; \
|
||||
echo ' */' >> calc_errno.h; \
|
||||
echo '' >> calc_errno.h; \
|
||||
echo 'extern int errno; ' \
|
||||
'/* last system error */' >> calc_errno.h; \
|
||||
echo 'extern const char *const sys_errlist[];' \
|
||||
' /* system error messages*/' >> calc_errno.h; \
|
||||
echo 'extern int sys_nerr; ' \
|
||||
'/* number of system errors */' >> calc_errno.h; \
|
||||
elif [ X"${ERRNO_DECL}" = X"-DERRNO_OLD_DECL" ]; then \
|
||||
echo '/*' >> calc_errno.h; \
|
||||
echo ' * The calc Makefile explicitly told us' >> calc_errno.h; \
|
||||
echo ' * how to declare errno and friends.' >> calc_errno.h; \
|
||||
echo ' */' >> calc_errno.h; \
|
||||
echo '' >> calc_errno.h; \
|
||||
echo 'extern int errno; ' \
|
||||
'/* last system error */' >> calc_errno.h; \
|
||||
echo 'extern char *sys_errlist[];' \
|
||||
' /* system error messages*/' >> calc_errno.h; \
|
||||
echo 'extern int sys_nerr; ' \
|
||||
'/* number of system errors */' >> calc_errno.h; \
|
||||
else \
|
||||
${CC} ${CCMAIN} -DTRY_ERRNO_NO_DECL \
|
||||
calc_errno.c -o calc_errno 2>calc_errno_tmp; \
|
||||
if [ -x ./calc_errno ]; then \
|
||||
./calc_errno >> calc_errno.h; \
|
||||
else \
|
||||
${CC} ${CCMAIN} -DTRY_ERRNO_STD_DECL \
|
||||
calc_errno.c -o calc_errno 2>calc_errno_tmp; \
|
||||
if [ -x ./calc_errno ]; then \
|
||||
./calc_errno >> calc_errno.h; \
|
||||
else \
|
||||
${CC} ${CCMAIN} -DTRY_ERRNO_OLD_DECL \
|
||||
calc_errno.c -o calc_errno 2>calc_errno_tmp; \
|
||||
if [ -x ./calc_errno ]; then \
|
||||
./calc_errno >> calc_errno.h; \
|
||||
else \
|
||||
echo '/*' >> calc_errno.h; \
|
||||
echo ' * We were unable to to determine' >> calc_errno.h; \
|
||||
echo ' * how to declare errno and friends.' >> calc_errno.h; \
|
||||
echo ' * So we will guess this will work' >> calc_errno.h; \
|
||||
echo ' * and hope for the best.' >> calc_errno.h; \
|
||||
echo ' */' >> calc_errno.h; \
|
||||
echo '' >> calc_errno.h; \
|
||||
echo 'extern int errno; ' \
|
||||
'/* last system error */' >> calc_errno.h; \
|
||||
echo 'extern const char *const sys_errlist[];' \
|
||||
' /* system error messages*/' >> calc_errno.h; \
|
||||
echo 'extern int sys_nerr; ' \
|
||||
'/* number of system errors */' >> calc_errno.h; \
|
||||
fi; \
|
||||
fi; \
|
||||
fi; \
|
||||
fi
|
||||
${Q}echo '' >> calc_errno.h
|
||||
${Q}echo '' >> calc_errno.h
|
||||
${Q}echo '#endif /* !__CALC_ERRNO_H__ */' >> calc_errno.h
|
||||
-${Q}rm -f calc_errno calc_errno_tmp
|
||||
${Q}echo 'calc_errno.h formed'
|
||||
-@if [ -z "${Q}" ]; then \
|
||||
echo ''; \
|
||||
echo '=-=-= start of $@ =-=-='; \
|
||||
cat $@; \
|
||||
echo '=-=-= end of $@ =-=-='; \
|
||||
echo ''; \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
|
||||
calcerr.h: calcerr.tbl calcerr_h.sed calcerr_h.awk ${MAKE_FILE}
|
||||
-${Q}rm -f calerr.h
|
||||
${Q}echo 'forming calcerr.h'
|
||||
@@ -2295,7 +2293,7 @@ env:
|
||||
@echo "HAVE_UID_T=${HAVE_UID_T}"; echo ""
|
||||
@echo "HAVE_NEWSTR=${HAVE_NEWSTR}"; echo ""
|
||||
@echo "ALIGN32=${ALIGN32}"; echo ""
|
||||
@echo "MAIN=${MAIN}"; echo ""
|
||||
@echo "ERRNO_DECL=${ERRNO_DECL}"; echo ""
|
||||
@echo "BINDIR=${BINDIR}"; echo ""
|
||||
@echo "TOPDIR=${TOPDIR}"; echo ""
|
||||
@echo "LIBDIR=${LIBDIR}"; echo ""
|
||||
|
@@ -30,7 +30,7 @@
|
||||
static void buserr(void); /* catch alignment errors */
|
||||
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
char byte[2*sizeof(USB32)]; /* mis-alignment buffer */
|
||||
@@ -58,7 +58,8 @@ main(void)
|
||||
'/', '/');
|
||||
|
||||
#endif
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
6
calc.c
6
calc.c
@@ -67,7 +67,7 @@ static void intint(int arg); /* interrupt routine */
|
||||
/*
|
||||
* Top level calculator routine.
|
||||
*/
|
||||
MAIN
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
static char *str; /* current option string or expression */
|
||||
@@ -301,8 +301,8 @@ main(int argc, char **argv)
|
||||
* all done
|
||||
*/
|
||||
libcalc_call_me_last();
|
||||
exit(0);
|
||||
/*NOTREACHED*/
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
123
calc_errno.c
Normal file
123
calc_errno.c
Normal file
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
* errno - Determine how to declare errno, sys_errlist and sys_nerr
|
||||
*
|
||||
* On most machines: errno sys_errlist and sys_nerr are declared
|
||||
* by either <stdio.h> and/or <errno.h>. But some systems declare
|
||||
* them somewhere else or do not declare them at all!
|
||||
*
|
||||
* If the system were doing a proper job in headers, this should declare them:
|
||||
*
|
||||
* #include <stdio.h>
|
||||
* #include <errno.h>
|
||||
*
|
||||
* But one some systems one must explicitly declare them as:
|
||||
*
|
||||
* extern int errno;
|
||||
* extern const char *const sys_errlist[];
|
||||
* extern int sys_nerr;
|
||||
*
|
||||
* and on some old systems they must be explicitly and incorrectly declared as:
|
||||
*
|
||||
* extern int errno;
|
||||
* extern char *sys_errlist[];
|
||||
* extern int sys_nerr;
|
||||
*
|
||||
* The purpose of this utility is try and find the right way to declare
|
||||
* them and to output the middle of a header file called calc_errno.h.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 1999 by Landon Curt Noll. All Rights Reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software and
|
||||
* its documentation for any purpose and without fee is hereby granted,
|
||||
* provided that the above copyright, this permission notice and text
|
||||
* this comment, and the disclaimer below appear in all of the following:
|
||||
*
|
||||
* supporting documentation
|
||||
* source copies
|
||||
* source works derived from this source
|
||||
* binaries derived from this source or from derived source
|
||||
*
|
||||
* LANDON CURT NOLL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
|
||||
* EVENT SHALL LANDON CURT NOLL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
|
||||
* USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* chongo was here /\../\
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#if defined(TRY_ERRNO_NO_DECL)
|
||||
# include <errno.h>
|
||||
#endif /* TRY_ERRNO_NO_DECL */
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
|
||||
#if defined(TRY_ERRNO_NO_DECL)
|
||||
printf("/*\n");
|
||||
printf(" * The following comments were produced by calc_errno\n");
|
||||
printf(" * in an effort to see if these values were correctly\n");
|
||||
printf(" * declared when calc_errno.c was compiled.\n");
|
||||
printf(" */\n\n");
|
||||
printf("/* Initially errno is %d */\n", errno);
|
||||
printf("/* There are %d entries in sys_errlist[] */\n", sys_nerr);
|
||||
printf("/* The 2nd sys_errlist entry is \"%s\" */\n\n", sys_errlist[1]);
|
||||
printf("/*\n");
|
||||
printf(" * Based on the above, calc_errno now knows\n");
|
||||
printf(" * how to declare errno and friends.\n");
|
||||
printf(" */\n\n");
|
||||
printf("#include <stdio.h>\n");
|
||||
printf("#include <errno.h>\n");
|
||||
#elif defined(TRY_ERRNO_OLD_DECL)
|
||||
extern int errno; /* last system error */
|
||||
extern char *sys_errlist[]; /* system error messages */
|
||||
extern int sys_nerr; /* number of system errors*/
|
||||
|
||||
printf("/*\n");
|
||||
printf(" * The following comments were produced by calc_errno\n");
|
||||
printf(" * in an effort to see if these values were correctly\n");
|
||||
printf(" * declared when calc_errno.c was compiled.\n");
|
||||
printf(" */\n\n");
|
||||
printf("/* Initially errno is %d */\n", errno);
|
||||
printf("/* There are %d entries in sys_errlist[] */\n", sys_nerr);
|
||||
printf("/* The 2nd sys_errlist entry is \"%s\" */\n\n", sys_errlist[1]);
|
||||
printf("/*\n");
|
||||
printf(" * Based on the above, calc_errno now knows\n");
|
||||
printf(" * how to declare errno and friends.\n");
|
||||
printf(" */\n\n");
|
||||
printf("extern int errno;\t\t/* last system error */\n");
|
||||
printf("extern char *sys_errlist[];\t"
|
||||
"/* system error messages */\n");
|
||||
printf("extern int sys_nerr;\t\t/* number of system errors*/\n");
|
||||
#else /* assume defined(TRY_ERRNO_STD_DECL) */
|
||||
extern int errno; /* last system error */
|
||||
extern const char *const sys_errlist[]; /* system error messages */
|
||||
extern int sys_nerr; /* number of system errors*/
|
||||
|
||||
printf("/*\n");
|
||||
printf(" * The following comments were produced by calc_errno\n");
|
||||
printf(" * in an effort to see if these values were correctly\n");
|
||||
printf(" * declared when calc_errno.c was compiled.\n");
|
||||
printf(" */\n\n");
|
||||
printf("/* Initially errno is %d */\n", errno);
|
||||
printf("/* There are %d entries in sys_errlist[] */\n", sys_nerr);
|
||||
printf("/* The 2nd sys_errlist entry is \"%s\" */\n\n", sys_errlist[1]);
|
||||
printf("/*\n");
|
||||
printf(" * Based on the above, calc_errno now knows\n");
|
||||
printf(" * how to declare errno and friends.\n");
|
||||
printf(" */\n\n");
|
||||
printf("extern int errno;\t\t\t/* last system error */\n");
|
||||
printf("extern const char *const sys_errlist[];\t"
|
||||
"/* system error messages */\n");
|
||||
printf("extern int sys_nerr;\t\t\t/* number of system errors*/\n");
|
||||
#endif
|
||||
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
@@ -470,7 +470,8 @@ install: all
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
${Q}for i in ${INSTALL_H_SRC}; do \
|
||||
${Q}for i in ${INSTALL_H_SRC} /dev/null; do \
|
||||
if [ X$$i = X/dev/null ]; then continue; fi; \
|
||||
echo rm -f ${CUSTOMLIBDIR}/$$i; \
|
||||
rm -f ${CUSTOMLIBDIR}/$$i; \
|
||||
echo cp $$i ${CUSTOMLIBDIR}; \
|
||||
|
61
endian.c
61
endian.c
@@ -39,41 +39,42 @@
|
||||
char byte[8] = { (char)0x12, (char)0x36, (char)0x48, (char)0x59,
|
||||
(char)0x01, (char)0x23, (char)0x45, (char)0x67 };
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
/* pointers into the byte order array */
|
||||
int *intp = (int *)byte;
|
||||
/* pointers into the byte order array */
|
||||
int *intp = (int *)byte;
|
||||
#if defined(DEBUG)
|
||||
short *shortp = (short *)byte;
|
||||
long *longp = (long *)byte;
|
||||
short *shortp = (short *)byte;
|
||||
long *longp = (long *)byte;
|
||||
|
||||
printf("byte: %02x %02x %02x %02x %02x %02x %02x %02x\n",
|
||||
byte[0], byte[1], byte[2], byte[3],
|
||||
byte[4], byte[5], byte[6], byte[7]);
|
||||
printf("short: %04x %04x %04x %04x\n",
|
||||
shortp[0], shortp[1], shortp[2], shortp[3]);
|
||||
printf("int: %08x %08x\n",
|
||||
intp[0], intp[1]);
|
||||
printf("long: %08x %08x\n",
|
||||
longp[0], longp[1]);
|
||||
printf("byte: %02x %02x %02x %02x %02x %02x %02x %02x\n",
|
||||
byte[0], byte[1], byte[2], byte[3],
|
||||
byte[4], byte[5], byte[6], byte[7]);
|
||||
printf("short: %04x %04x %04x %04x\n",
|
||||
shortp[0], shortp[1], shortp[2], shortp[3]);
|
||||
printf("int: %08x %08x\n",
|
||||
intp[0], intp[1]);
|
||||
printf("long: %08x %08x\n",
|
||||
longp[0], longp[1]);
|
||||
#endif
|
||||
|
||||
/* Print the standard <machine/endian.h> defines */
|
||||
printf("#define BIG_ENDIAN\t4321\n");
|
||||
printf("#define LITTLE_ENDIAN\t1234\n");
|
||||
/* Print the standard <machine/endian.h> defines */
|
||||
printf("#define BIG_ENDIAN\t4321\n");
|
||||
printf("#define LITTLE_ENDIAN\t1234\n");
|
||||
|
||||
/* Determine byte order */
|
||||
if (intp[0] == 0x12364859) {
|
||||
/* Most Significant Byte first */
|
||||
printf("#define CALC_BYTE_ORDER\tBIG_ENDIAN\n");
|
||||
} else if (intp[0] == 0x59483612) {
|
||||
/* Least Significant Byte first */
|
||||
printf("#define CALC_BYTE_ORDER\tLITTLE_ENDIAN\n");
|
||||
} else {
|
||||
fprintf(stderr,
|
||||
"Unknown int Byte Order, set CALC_BYTE_ORDER in Makefile\n");
|
||||
exit(1);
|
||||
}
|
||||
exit(0);
|
||||
/* Determine byte order */
|
||||
if (intp[0] == 0x12364859) {
|
||||
/* Most Significant Byte first */
|
||||
printf("#define CALC_BYTE_ORDER\tBIG_ENDIAN\n");
|
||||
} else if (intp[0] == 0x59483612) {
|
||||
/* Least Significant Byte first */
|
||||
printf("#define CALC_BYTE_ORDER\tLITTLE_ENDIAN\n");
|
||||
} else {
|
||||
fprintf(stderr,
|
||||
"Unknown int Byte Order, set CALC_BYTE_ORDER in Makefile\n");
|
||||
exit(1);
|
||||
}
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
12
file.c
12
file.c
@@ -1141,6 +1141,7 @@ rewindall(void)
|
||||
*
|
||||
* NOTE: Does not support negative file positions.
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
static ZVALUE
|
||||
filepos2z(FILEPOS pos)
|
||||
{
|
||||
@@ -1493,6 +1494,7 @@ setloc(FILEID id, ZVALUE zpos)
|
||||
* returns:
|
||||
* file size as a ZVALUE
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
static ZVALUE
|
||||
off_t2z(off_t siz)
|
||||
{
|
||||
@@ -1555,6 +1557,7 @@ dev2z(dev_t dev)
|
||||
* returns:
|
||||
* file size as a ZVALUE
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
static ZVALUE
|
||||
inode2z(ino_t inode)
|
||||
{
|
||||
@@ -1841,7 +1844,8 @@ getscanfield(FILE *fp, BOOL skip, unsigned int width, int scannum, char *scanptr
|
||||
if (c == EOF || c == '\0')
|
||||
break;
|
||||
chnum++;
|
||||
if(scannum && (memchr(scanptr,c,scannum)==NULL) ^ comp)
|
||||
if(scannum &&
|
||||
((memchr(scanptr,c,scannum)==NULL) ^ comp))
|
||||
break;
|
||||
if (!skip) {
|
||||
*b++ = c;
|
||||
@@ -1918,7 +1922,7 @@ getscanwhite(FILE *fp, BOOL skip, unsigned int width, int scannum, char **strptr
|
||||
if (c == EOF || c == '\0')
|
||||
break;
|
||||
chnum++;
|
||||
if(scannum && !isspace(c) ^ comp)
|
||||
if(scannum && (!isspace(c) ^ comp))
|
||||
break;
|
||||
if (!skip) {
|
||||
*b++ = c;
|
||||
@@ -1980,11 +1984,11 @@ fscanfile(FILE *fp, char *fmt, int count, VALUE **vals)
|
||||
for (;;) {
|
||||
for (;;) {
|
||||
f = *fmt++;
|
||||
if (isspace(f)) {
|
||||
if (isspace((int)f)) {
|
||||
getscanwhite(fp,1,0,6,NULL);
|
||||
do {
|
||||
f = *fmt++;
|
||||
} while (isspace(f));
|
||||
} while (isspace((int)f));
|
||||
}
|
||||
c = fgetc(fp);
|
||||
if (c == EOF)
|
||||
|
@@ -60,7 +60,7 @@
|
||||
|
||||
char *program; /* our name */
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int stsizelen; /* bit length of st_size in buf */
|
||||
@@ -225,5 +225,6 @@ main(int argc, char **argv)
|
||||
printf("#define SWAP_HALF_IN_INODE(dest, src)\t%s%d%s\n",
|
||||
"memcpy((void *)(dest), (void *)(src), sizeof(",inodelen,"))");
|
||||
#endif /* CALC_BYTE_ORDER == BIG_ENDIAN */
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
10
func.c
10
func.c
@@ -13,11 +13,12 @@
|
||||
|
||||
#if defined(FUNCLIST)
|
||||
|
||||
#include <stdio.h>
|
||||
#define CONST /* disabled for FUNCLIST in case NATIVE_CC doesn't have it */
|
||||
|
||||
#else /* FUNCLIST */
|
||||
|
||||
#include "calc_errno.h"
|
||||
|
||||
#include "have_unistd.h"
|
||||
#if defined(HAVE_UNISTD_H)
|
||||
#include <unistd.h>
|
||||
@@ -77,9 +78,6 @@ static VALUE f_fsize(VALUE *vp);
|
||||
/*
|
||||
* external declarations
|
||||
*/
|
||||
extern int errno; /* last system error */
|
||||
extern char *sys_errlist[]; /* system error messages */
|
||||
extern int sys_nerr; /* number of system errors */
|
||||
extern char cmdbuf[]; /* command line expression */
|
||||
extern CONST char *error_table[E__COUNT+2]; /* calc coded error messages */
|
||||
extern void matrandperm(MATRIX *M);
|
||||
@@ -4838,14 +4836,14 @@ strscan(char *s, int count, VALUE **vals)
|
||||
while (*s != '\0') {
|
||||
s--;
|
||||
while ((ch = *++s)) {
|
||||
if (!isspace(ch))
|
||||
if (!isspace((int)ch))
|
||||
break;
|
||||
}
|
||||
if (ch == '\0' || count-- == 0)
|
||||
return n;
|
||||
s0 = s;
|
||||
while ((ch = *++s)) {
|
||||
if (isspace(ch))
|
||||
if (isspace((int)ch))
|
||||
break;
|
||||
}
|
||||
chtmp = ch;
|
||||
|
@@ -42,7 +42,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
#if defined(HAVE_NO_CONST)
|
||||
@@ -56,5 +56,6 @@ main(void)
|
||||
printf("#undef CONST\n");
|
||||
printf("#define CONST %s /* yes */\n", str);
|
||||
#endif /* HAVE_NO_CONST */
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
23
have_fpos.c
23
have_fpos.c
@@ -32,22 +32,23 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
#if !defined(HAVE_NO_FPOS)
|
||||
fpos_t pos; /* file position */
|
||||
fpos_t pos; /* file position */
|
||||
|
||||
/* get the current position */
|
||||
(void) fgetpos(stdin, &pos);
|
||||
/* get the current position */
|
||||
(void) fgetpos(stdin, &pos);
|
||||
|
||||
/* set the current position */
|
||||
(void) fsetpos(stdin, &pos);
|
||||
/* set the current position */
|
||||
(void) fsetpos(stdin, &pos);
|
||||
|
||||
/* print a have_fpos.h body that says we have the functions */
|
||||
printf("#undef HAVE_FPOS\n");
|
||||
printf("#define HAVE_FPOS 1 /* yes */\n\n");
|
||||
printf("typedef fpos_t FILEPOS;\n");
|
||||
/* print a have_fpos.h body that says we have the functions */
|
||||
printf("#undef HAVE_FPOS\n");
|
||||
printf("#define HAVE_FPOS 1 /* yes */\n\n");
|
||||
printf("typedef fpos_t FILEPOS;\n");
|
||||
#endif
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
@@ -44,7 +44,7 @@
|
||||
char src[] = "chongo was here";
|
||||
char dest[MOVELEN+1];
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
#if defined(HAVE_NO_MEMMOVE)
|
||||
@@ -54,5 +54,6 @@ main(void)
|
||||
|
||||
printf("#define HAVE_MEMMOVE /* yes */\n");
|
||||
#endif /* HAVE_NO_MEMMOVE */
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
@@ -46,7 +46,7 @@
|
||||
char src[] = "chongo was here";
|
||||
char dest[MOVELEN+1];
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
#if defined(HAVE_NO_NEWSTR)
|
||||
@@ -58,5 +58,6 @@ main(void)
|
||||
|
||||
printf("#define HAVE_NEWSTR /* yes */\n");
|
||||
#endif /* HAVE_NO_NEWSTR */
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
@@ -45,7 +45,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
#if !defined(OFF_T_NON_SCALAR)
|
||||
@@ -79,5 +79,6 @@ main(void)
|
||||
#else
|
||||
printf("#undef HAVE_OFF_T_SCALAR /* off_t is not a simple value */\n");
|
||||
#endif
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
@@ -46,7 +46,7 @@
|
||||
#include <sys/stat.h>
|
||||
#include "have_fpos.h"
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
#if !defined(FILEPOS_NON_SCALAR)
|
||||
@@ -80,5 +80,6 @@ main(void)
|
||||
#else
|
||||
printf("#undef HAVE_FILEPOS_SCALAR /* FILEPOS is not a simple value */\n");
|
||||
#endif
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
116
have_stdvs.c
116
have_stdvs.c
@@ -56,84 +56,86 @@ char buf[BUFSIZ];
|
||||
void
|
||||
try(char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
va_list ap;
|
||||
|
||||
va_start(ap, fmt);
|
||||
va_start(ap, fmt);
|
||||
#if !defined(DONT_HAVE_VSPRINTF)
|
||||
vsprintf(buf, fmt, ap);
|
||||
vsprintf(buf, fmt, ap);
|
||||
#else
|
||||
sprintf(buf, fmt, ap);
|
||||
sprintf(buf, fmt, ap);
|
||||
#endif
|
||||
va_end(ap);
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
/*
|
||||
* setup
|
||||
*/
|
||||
buf[0] = '\0';
|
||||
/*
|
||||
* setup
|
||||
*/
|
||||
buf[0] = '\0';
|
||||
|
||||
/*
|
||||
* test variable args and vsprintf/sprintf
|
||||
*/
|
||||
try("@%d:%s:%d@", 1, "hi", 2);
|
||||
if (strcmp(buf, "@1:hi:2@") != 0) {
|
||||
/*
|
||||
* test variable args and vsprintf/sprintf
|
||||
*/
|
||||
try("@%d:%s:%d@", 1, "hi", 2);
|
||||
if (strcmp(buf, "@1:hi:2@") != 0) {
|
||||
#if !defined(DONT_HAVE_VSPRINTF)
|
||||
/* <stdarg.h> with vsprintf() didn't work */
|
||||
/* <stdarg.h> with vsprintf() didn't work */
|
||||
#else
|
||||
/* <stdarg.h> with sprintf() simulating vsprintf() didn't work */
|
||||
/* <stdarg.h> with sprintf() simulating vsprintf() didn't work */
|
||||
#endif
|
||||
exit(1);
|
||||
}
|
||||
try("%s %d%s%d%d %s",
|
||||
"Landon Noll 1st proved that", 2, "^", 23209, -1, "was prime");
|
||||
if (strcmp(buf, "Landon Noll 1st proved that 2^23209-1 was prime") != 0) {
|
||||
exit(1);
|
||||
}
|
||||
try("%s %d%s%d%d %s",
|
||||
"Landon Noll 1st proved that", 2, "^", 23209, -1, "was prime");
|
||||
if (strcmp(buf,
|
||||
"Landon Noll 1st proved that 2^23209-1 was prime") != 0) {
|
||||
#if !defined(DONT_HAVE_VSPRINTF)
|
||||
/* <stdarg.h> with vsprintf() didn't work */
|
||||
/* <stdarg.h> with vsprintf() didn't work */
|
||||
#else
|
||||
/* <stdarg.h> with sprintf() simulating vsprintf() didn't work */
|
||||
/* <stdarg.h> with sprintf() simulating vsprintf() didn't work */
|
||||
#endif
|
||||
exit(1);
|
||||
}
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* report the result
|
||||
*/
|
||||
puts("/* what type of variable args do we have? */");
|
||||
/*
|
||||
* report the result
|
||||
*/
|
||||
puts("/* what type of variable args do we have? */");
|
||||
#if defined(DONT_HAVE_VSPRINTF)
|
||||
puts("/*");
|
||||
puts(" * SIMULATE_STDARG");
|
||||
puts(" *");
|
||||
puts(" * WARNING: This type of stdarg makes assumptions about the stack");
|
||||
puts(" * that may not be true on your system. You may want to");
|
||||
puts(" * define STDARG (if using ANSI C) or VARARGS.");
|
||||
puts(" */");
|
||||
puts("typedef char *va_list;");
|
||||
puts("#define va_start(ap,parmn) (void)((ap) = (char*)(&(parmn) + 1))");
|
||||
puts("#define va_end(ap) (void)((ap) = 0)");
|
||||
puts("#define va_arg(ap, type) \\");
|
||||
puts(" (((type*)((ap) = ((ap) + sizeof(type))))[-1])");
|
||||
puts("#define SIMULATE_STDARG /* use std_arg.h to simulate <stdarg.h> */");
|
||||
puts("/*");
|
||||
puts(" * SIMULATE_STDARG");
|
||||
puts(" *");
|
||||
puts(" * WARNING: This type of stdarg makes assumptions about the stack");
|
||||
puts(" * that may not be true on your system. You may want to");
|
||||
puts(" * define STDARG (if using ANSI C) or VARARGS.");
|
||||
puts(" */");
|
||||
puts("typedef char *va_list;");
|
||||
puts("#define va_start(ap,parmn) (void)((ap) = (char*)(&(parmn) + 1))");
|
||||
puts("#define va_end(ap) (void)((ap) = 0)");
|
||||
puts("#define va_arg(ap, type) \\");
|
||||
puts(" (((type*)((ap) = ((ap) + sizeof(type))))[-1])");
|
||||
puts("#define SIMULATE_STDARG /* use std_arg.h to simulate <stdarg.h> */");
|
||||
#else
|
||||
puts("#define STDARG /* use <stdarg.h> */");
|
||||
puts("#include <stdarg.h>");
|
||||
puts("#define STDARG /* use <stdarg.h> */");
|
||||
puts("#include <stdarg.h>");
|
||||
#endif
|
||||
puts("\n/* should we use vsprintf()? */");
|
||||
puts("\n/* should we use vsprintf()? */");
|
||||
#if !defined(DONT_HAVE_VSPRINTF)
|
||||
puts("#define HAVE_VS /* yes */");
|
||||
puts("#define HAVE_VS /* yes */");
|
||||
#else
|
||||
puts("/*");
|
||||
puts(" * Hack aleart!!!");
|
||||
puts(" *");
|
||||
puts(" * Systems that do not have vsprintf() need something. In some");
|
||||
puts(" * cases the sprintf function will deal correctly with the");
|
||||
puts(" * va_alist 3rd arg. Hope for the best!");
|
||||
puts(" */");
|
||||
puts("#define vsprintf sprintf");
|
||||
puts("#undef HAVE_VS");
|
||||
puts("/*");
|
||||
puts(" * Hack aleart!!!");
|
||||
puts(" *");
|
||||
puts(" * Systems that do not have vsprintf() need something. In some");
|
||||
puts(" * cases the sprintf function will deal correctly with the");
|
||||
puts(" * va_alist 3rd arg. Hope for the best!");
|
||||
puts(" */");
|
||||
puts("#define vsprintf sprintf");
|
||||
puts("#undef HAVE_VS");
|
||||
#endif
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
@@ -47,7 +47,7 @@
|
||||
#include <sys/types.h>
|
||||
#endif /* ! HAVE_NO_UID_T */
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
#if defined(HAVE_NO_UID_T)
|
||||
@@ -60,5 +60,6 @@ main(void)
|
||||
|
||||
printf("#define HAVE_UID_T /* yes */\n");
|
||||
#endif /* HAVE_NO_UID_T */
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
80
have_varvs.c
80
have_varvs.c
@@ -76,56 +76,58 @@ try(char *a, int b, char *c, int d)
|
||||
#endif
|
||||
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
/*
|
||||
* setup
|
||||
*/
|
||||
buf[0] = '\0';
|
||||
/*
|
||||
* setup
|
||||
*/
|
||||
buf[0] = '\0';
|
||||
|
||||
/*
|
||||
* test variable args and vsprintf/sprintf
|
||||
*/
|
||||
try("@%d:%s:%d@", 1, "hi", 2);
|
||||
if (strcmp(buf, "@1:hi:2@") != 0) {
|
||||
/*
|
||||
* test variable args and vsprintf/sprintf
|
||||
*/
|
||||
try("@%d:%s:%d@", 1, "hi", 2);
|
||||
if (strcmp(buf, "@1:hi:2@") != 0) {
|
||||
#if !defined(DONT_HAVE_VSPRINTF)
|
||||
/* <varargs.h> with vsprintf() didn't work */
|
||||
/* <varargs.h> with vsprintf() didn't work */
|
||||
#else
|
||||
/* <varargs.h> with sprintf() simulating vsprintf() didn't work */
|
||||
/* <varargs.h> with sprintf() simulating vsprintf() didn't work */
|
||||
#endif
|
||||
exit(1);
|
||||
}
|
||||
try("%s %d%s%d%d %s",
|
||||
"Landon Noll 1st proved that", 2, "^", 23209, -1, "was prime");
|
||||
if (strcmp(buf, "Landon Noll 1st proved that 2^23209-1 was prime") != 0) {
|
||||
exit(1);
|
||||
}
|
||||
try("%s %d%s%d%d %s",
|
||||
"Landon Noll 1st proved that", 2, "^", 23209, -1, "was prime");
|
||||
if (strcmp(buf,
|
||||
"Landon Noll 1st proved that 2^23209-1 was prime") != 0) {
|
||||
#if !defined(DONT_HAVE_VSPRINTF)
|
||||
/* <stdarg.h> with vsprintf() didn't work */
|
||||
/* <stdarg.h> with vsprintf() didn't work */
|
||||
#else
|
||||
/* <stdarg.h> with sprintf() simulating vsprintf() didn't work */
|
||||
/* <stdarg.h> with sprintf() simulating vsprintf() didn't work */
|
||||
#endif
|
||||
exit(1);
|
||||
}
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* report the result
|
||||
*/
|
||||
puts("/* what type of variable args do we have? */");
|
||||
puts("#define VARARGS /* use <varargs.h> */");
|
||||
puts("#include <varargs.h>");
|
||||
puts("\n/* should we use vsprintf()? */");
|
||||
/*
|
||||
* report the result
|
||||
*/
|
||||
puts("/* what type of variable args do we have? */");
|
||||
puts("#define VARARGS /* use <varargs.h> */");
|
||||
puts("#include <varargs.h>");
|
||||
puts("\n/* should we use vsprintf()? */");
|
||||
#if !defined(DONT_HAVE_VSPRINTF)
|
||||
puts("#define HAVE_VS /* yes */");
|
||||
puts("#define HAVE_VS /* yes */");
|
||||
#else
|
||||
puts("/*");
|
||||
puts(" * Hack aleart!!!");
|
||||
puts(" *");
|
||||
puts(" * Systems that do not have vsprintf() need something. In some");
|
||||
puts(" * cases the sprintf function will deal correctly with the");
|
||||
puts(" * va_alist 3rd arg. Hope for the best!");
|
||||
puts(" */");
|
||||
puts("#define vsprintf sprintf");
|
||||
puts("#undef HAVE_VS");
|
||||
puts("/*");
|
||||
puts(" * Hack aleart!!!");
|
||||
puts(" *");
|
||||
puts(" * Systems that do not have vsprintf() need something. In some");
|
||||
puts(" * cases the sprintf function will deal correctly with the");
|
||||
puts(" * va_alist 3rd arg. Hope for the best!");
|
||||
puts(" */");
|
||||
puts("#define vsprintf sprintf");
|
||||
puts("#undef HAVE_VS");
|
||||
#endif
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
26
hist.c
26
hist.c
@@ -421,12 +421,12 @@ do_map_line(char *line)
|
||||
char *map_name;
|
||||
|
||||
cp = line;
|
||||
while (isspace(*cp))
|
||||
while (isspace((int)*cp))
|
||||
cp++;
|
||||
if (*cp == '\0')
|
||||
return NULL;
|
||||
map_name = cp;
|
||||
while ((*cp != '\0') && !isspace(*cp))
|
||||
while ((*cp != '\0') && !isspace((int)*cp))
|
||||
cp++;
|
||||
*cp = '\0';
|
||||
return find_map(map_name);
|
||||
@@ -461,7 +461,7 @@ do_bind_line(KEY_MAP *map, char *line)
|
||||
else if (key == '\\')
|
||||
key = *cp++;
|
||||
|
||||
while (isspace(*cp))
|
||||
while (isspace((int)*cp))
|
||||
cp++;
|
||||
if (*cp == '\0') {
|
||||
unbind_key(map, key);
|
||||
@@ -469,11 +469,11 @@ do_bind_line(KEY_MAP *map, char *line)
|
||||
}
|
||||
|
||||
func_name = cp;
|
||||
while ((*cp != '\0') && !isspace(*cp))
|
||||
while ((*cp != '\0') && !isspace((int)*cp))
|
||||
cp++;
|
||||
if (*cp) {
|
||||
*cp++ = '\0';
|
||||
while (isspace(*cp))
|
||||
while (isspace((int)*cp))
|
||||
cp++;
|
||||
}
|
||||
func = find_func(func_name);
|
||||
@@ -488,11 +488,11 @@ do_bind_line(KEY_MAP *map, char *line)
|
||||
next = base_map;
|
||||
} else {
|
||||
next_name = cp;
|
||||
while ((*cp != '\0') && !isspace(*cp))
|
||||
while ((*cp != '\0') && !isspace((int)*cp))
|
||||
cp++;
|
||||
if (*cp) {
|
||||
*cp++ = '\0';
|
||||
while (isspace(*cp))
|
||||
while (isspace((int)*cp))
|
||||
cp++;
|
||||
}
|
||||
next = find_map(next_name);
|
||||
@@ -515,18 +515,18 @@ do_default_line(KEY_MAP *map, char *line)
|
||||
if (map == NULL)
|
||||
return;
|
||||
cp = line;
|
||||
while (isspace(*cp))
|
||||
while (isspace((int)*cp))
|
||||
cp++;
|
||||
if (*cp == '\0')
|
||||
return;
|
||||
|
||||
func_name = cp;
|
||||
while ((*cp != '\0') && !isspace(*cp))
|
||||
while ((*cp != '\0') && !isspace((int)*cp))
|
||||
cp++;
|
||||
if (*cp != '\0')
|
||||
{
|
||||
*cp++ = '\0';
|
||||
while (isspace(*cp))
|
||||
while (isspace((int)*cp))
|
||||
cp++;
|
||||
}
|
||||
func = find_func(func_name);
|
||||
@@ -538,12 +538,12 @@ do_default_line(KEY_MAP *map, char *line)
|
||||
else
|
||||
{
|
||||
next_name = cp;
|
||||
while ((*cp != '\0') && !isspace(*cp))
|
||||
while ((*cp != '\0') && !isspace((int)*cp))
|
||||
cp++;
|
||||
if (*cp != '\0')
|
||||
{
|
||||
*cp++ = '\0';
|
||||
while (isspace(*cp))
|
||||
while (isspace((int)*cp))
|
||||
cp++;
|
||||
}
|
||||
next = find_map(next_name);
|
||||
@@ -577,7 +577,7 @@ read_bindings(FILE *fp)
|
||||
|
||||
while (fgets(line, sizeof(line) - 1, fp)) {
|
||||
cp = line;
|
||||
while (isspace(*cp))
|
||||
while (isspace((int)*cp))
|
||||
cp++;
|
||||
|
||||
if ((*cp == '\0') || (*cp == '#') || (*cp == '\n'))
|
||||
|
@@ -241,8 +241,8 @@ convhex2z(char *hex)
|
||||
/* slen is even now */
|
||||
|
||||
/* eat two hex chars at a time until the HALF is full */
|
||||
for (; (slen % (BASEB/4)) != 0; slen -= 2) {
|
||||
*hp = ((*hp<<8) | hex2bin(*sp++, *sp++));
|
||||
for (; (slen % (BASEB/4)) != 0; slen -= 2, sp += 2) {
|
||||
*hp = ((*hp<<8) | hex2bin(sp[0], sp[1]));
|
||||
}
|
||||
|
||||
/* move on to the next HALF */
|
||||
|
13
longbits.c
13
longbits.c
@@ -97,9 +97,15 @@
|
||||
|
||||
#include "longlong.h"
|
||||
|
||||
#if defined(__linux)
|
||||
# if !defined(isascii)
|
||||
extern int isascii(int c);
|
||||
# endif /* !isascii */
|
||||
#endif /* __linux */
|
||||
|
||||
char *program; /* our name */
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int exitcode = 0; /* how we will exit */
|
||||
@@ -118,7 +124,7 @@ main(int argc, char **argv)
|
||||
case 2:
|
||||
/* ignore empty or leading space args */
|
||||
if (argv[1][0] == '\0' ||
|
||||
(isascii(argv[1][0]) && isspace(argv[1][0]))) {
|
||||
(isascii((int)argv[1][0]) && isspace((int)argv[1][0]))) {
|
||||
long_bits = sizeof(long)*8;
|
||||
/* process the forced size arg */
|
||||
} else {
|
||||
@@ -356,5 +362,6 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
/* all done */
|
||||
exit(exitcode);
|
||||
/* exit(exitcode); */
|
||||
return exitcode;
|
||||
}
|
||||
|
@@ -66,7 +66,7 @@ unsigned long long val = 4294967297ULL;
|
||||
long long val2 = -4294967297LL;
|
||||
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int longlong_bits; /* bits in a long long, or <=0 => dont use */
|
||||
@@ -100,5 +100,6 @@ main(int argc, char **argv)
|
||||
longlong_bits);
|
||||
}
|
||||
}
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
2
qfunc.c
2
qfunc.c
@@ -1284,7 +1284,7 @@ qcfsim(NUMBER *q, long rnd)
|
||||
zmodinv(q->num, q->den, &den1);
|
||||
if (s >= 0) {
|
||||
zsub(q->den, den1, &den2);
|
||||
if (s > 0 || ((zrel(den1, den2) < 0) ^ !(rnd & 16))) {
|
||||
if (s > 0 || ((zrel(den1, den2) < 0) ^ (!(rnd & 16)))) {
|
||||
zfree(den1);
|
||||
res->den = den2;
|
||||
zmul(den2, q->num, &tmp1);
|
||||
|
@@ -95,18 +95,6 @@ TOPDIR= /usr/local/lib
|
||||
LIBDIR= ${TOPDIR}/calc
|
||||
HELPDIR= ${LIBDIR}/help
|
||||
|
||||
# The return value type of main() differs from platform to platform.
|
||||
# In some cases, a compiler warning is issued because main() does
|
||||
# or does not return a value.
|
||||
#
|
||||
# MAIN= -DMAIN=void main() is of type void
|
||||
# MAIN= -DMAIN=int main() is of type int
|
||||
#
|
||||
# When in doubt, try MAIN= -DMAIN=void. If you get a warning try the other.
|
||||
#
|
||||
MAIN= -DMAIN=void
|
||||
#MAIN= -DMAIN=int
|
||||
|
||||
# Normally, the upper level makefile will set these values. We provide
|
||||
# a default here just in case you want to build from this directory.
|
||||
#
|
||||
@@ -251,7 +239,7 @@ CCMISC=
|
||||
CFLAGS= ${CCWARN} ${CCOPT} ${CCMISC} ${ALLOW_CUSTOM}
|
||||
ICFLAGS= ${CCWARN} ${CCMISC}
|
||||
#
|
||||
CCMAIN= ${ICFLAGS} ${MAIN}
|
||||
CCMAIN= ${ICFLAGS}
|
||||
#
|
||||
LCFLAGS=
|
||||
LDFLAGS= ${NO_SHARED} ${LD_NO_SHARED}
|
||||
|
@@ -59,7 +59,7 @@ typedef struct {
|
||||
extern char *program; /* our name */
|
||||
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
RANDOM *prev_state; /* previous random number state */
|
||||
@@ -176,5 +176,6 @@ main(int argc, char **argv)
|
||||
/*
|
||||
* all done
|
||||
*/
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
@@ -57,7 +57,7 @@ typedef struct {
|
||||
extern char *program; /* our name */
|
||||
|
||||
|
||||
MAIN
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
RANDOM *prev_state; /* previous random number state */
|
||||
@@ -121,5 +121,6 @@ main(int argc, char **argv)
|
||||
/*
|
||||
* all done
|
||||
*/
|
||||
exit(0);
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
||||
|
@@ -10,9 +10,9 @@
|
||||
#include "calc.h"
|
||||
|
||||
#define MAJOR_VER 2 /* major version */
|
||||
#define MINOR_VER 10 /* minor version */
|
||||
#define MAJOR_PATCH 3 /* patch level or 0 if no patch */
|
||||
#define MINOR_PATCH "t5.45" /* test number or empty string if no patch */
|
||||
#define MINOR_VER 11 /* minor version */
|
||||
#define MAJOR_PATCH 0 /* patch level or 0 if no patch */
|
||||
#define MINOR_PATCH "2" /* test number or empty string if no patch */
|
||||
|
||||
/*
|
||||
* calc version constants
|
||||
|
6
zfunc.c
6
zfunc.c
@@ -1522,7 +1522,7 @@ zsqrt(ZVALUE z, ZVALUE *dest, long rnd)
|
||||
u = (HALF)(s ? BASE1 : 0);
|
||||
if (k < BASEB) {
|
||||
A[m1 - 1] = (HALF)(e >> (BASEB - 1));
|
||||
A[m1 - 2] = (HALF)(e << 1 | (s > 0));
|
||||
A[m1 - 2] = ((HALF)(e << 1) | (HALF)(s > 0));
|
||||
A[m1 - 3] = (HALF)(f >> BASEB);
|
||||
A[m1 - 4] = (HALF)f;
|
||||
m = m1 - 2;
|
||||
@@ -1531,7 +1531,7 @@ zsqrt(ZVALUE z, ZVALUE *dest, long rnd)
|
||||
else {
|
||||
A[m1 - 1] = 1;
|
||||
A[m1 - 2] = (HALF)(e >> (BASEB - 1));
|
||||
A[m1 - 3] = (HALF)(e << 1 | (s > 0));
|
||||
A[m1 - 3] = ((HALF)(e << 1) | (HALF)(s > 0));
|
||||
A[m1 - 4] = u;
|
||||
A[m1 - 5] = (HALF)(f >> BASEB);
|
||||
A[m1 - 6] = (HALF)f;
|
||||
@@ -1585,7 +1585,7 @@ zsqrt(ZVALUE z, ZVALUE *dest, long rnd)
|
||||
if (x & TOPHALF)
|
||||
a[1] |= 1;
|
||||
}
|
||||
*a = (HALF)((x << 1) | (u > 0));
|
||||
*a = ((HALF)(x << 1) | (HALF)(u > 0));
|
||||
}
|
||||
else
|
||||
*a = u;
|
||||
|
8
zprime.c
8
zprime.c
@@ -778,8 +778,8 @@ small_factor(ZVALUE z, FULL limit)
|
||||
#if BASEB == 32
|
||||
div.v[0] = (HALF)factor;
|
||||
#else
|
||||
div.v[0] = (factor & BASE1);
|
||||
div.v[1] = (factor >> BASEB);
|
||||
div.v[0] = (HALF)(factor & BASE1);
|
||||
div.v[1] = (HALF)(factor >> BASEB);
|
||||
#endif
|
||||
|
||||
if (zdivides(z, div))
|
||||
@@ -1483,8 +1483,8 @@ zlowfactor(ZVALUE z, long count)
|
||||
#if BASEB == 32
|
||||
div.v[0] = (HALF)factor;
|
||||
#else
|
||||
div.v[0] = (factor & BASE1);
|
||||
div.v[1] = (factor >> BASEB);
|
||||
div.v[0] = (HALF)(factor & BASE1);
|
||||
div.v[1] = (HALF)(factor >> BASEB);
|
||||
#endif
|
||||
|
||||
if (zdivides(z, div))
|
||||
|
@@ -1733,7 +1733,7 @@ zsrandom2(CONST ZVALUE seed, CONST ZVALUE newn)
|
||||
math_error("srandom newn == 0 reserved for future use");
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
set = z1tol(newn);
|
||||
set = (HALF)z1tol(newn);
|
||||
if (!zistiny(newn) || set > BLUM_PREGEN) {
|
||||
math_error("srandom small newn must be [1,20]");
|
||||
/*NOTREACHED*/
|
||||
|
Reference in New Issue
Block a user