mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
Release calc version 2.11.0t8.10
This commit is contained in:
148
BUGS
148
BUGS
@@ -68,153 +68,7 @@ importantly, fixes (in the form of a context diff patch) to:
|
||||
|
||||
Known bugs:
|
||||
|
||||
* When compiled on some Big Endian machines with BASEB forced to
|
||||
be 16 (by setting LONGLONG_BITS= 0 in the Makefile), calc fails
|
||||
a number of regression tests:
|
||||
|
||||
4230: n = ftell(f)
|
||||
4231: isnull(fputs(f,L,"\n",C,"\n",N,"\n"))
|
||||
4232: fseek(f, n)
|
||||
**** Non-true result (0): 4233: fgetstr(f) == LCN
|
||||
4234: isnull(fclose(f))
|
||||
4235: a = exp(27, 1e-1000)
|
||||
4236: b = sqrt(7 + 5i, 1e-2000)
|
||||
4252: fscanf(f, "%*[^|]%*c%n%*[^[]%*c%n", m, n) == 2
|
||||
4253: fseek(f, m)
|
||||
4254: fscanf(f, "%3c", x) == 1
|
||||
**** Non-true result (0): 4255: x == " Cu"
|
||||
4256: fseek(f, n)
|
||||
4257: fscanf(f, "%s", y) == 1
|
||||
**** Non-true result (0): 4258: y == "Noll"
|
||||
4259: isnull(fclose(f))
|
||||
4260: x = rm("junk4200")
|
||||
4261: Ending test_fileops
|
||||
4600: Beginning test_fileop
|
||||
4601: ttest(0,0): passed
|
||||
4602: stest(): failed
|
||||
**** search(f, "and") != 10 failed
|
||||
4603: ttest(1,1): failed
|
||||
**** Failure 2 for i = 0
|
||||
4604: stest(): failed
|
||||
**** search(f, "and") != 10 failed
|
||||
4605: ttest(2,2): failed
|
||||
**** Failure 2 for i = 0
|
||||
4606: stest(): failed
|
||||
**** search(f, "and") != 10 failed
|
||||
4607: ttest(3,3): failed
|
||||
**** Failure 2 for i = 0
|
||||
4608: stest(): failed
|
||||
**** search(f, "and") != 10 failed
|
||||
4609: ttest(4,4): failed
|
||||
**** Failure 2 for i = 0
|
||||
4610: stest(): failed
|
||||
**** search(f, "and") != 10 failed
|
||||
4611: ttest(5,5): failed
|
||||
**** Failure 2 for i = 0
|
||||
4612: stest(): failed
|
||||
**** search(f, "and") != 10 failed
|
||||
4613: ttest(6,6): failed
|
||||
**** Failure 2 for i = 0
|
||||
4614: stest(): failed
|
||||
**** search(f, "and") != 10 failed
|
||||
4615: ttest(7,7): failed
|
||||
**** Failure 2 for i = 0
|
||||
4616: stest(): failed
|
||||
**** search(f, "and") != 10 failed
|
||||
4617: ttest(8,8): failed
|
||||
**** Failure 2 for i = 0
|
||||
4618: stest(): failed
|
||||
**** search(f, "and") != 10 failed
|
||||
4619: ttest(9,9): failed
|
||||
**** Failure 1 for file size
|
||||
4620: stest(): failed
|
||||
**** fopen("junk4600", "w") failed
|
||||
4621: Ending test_fileop
|
||||
|
||||
4700: Beginning test_charset
|
||||
**** errcount:172 > ecnt:150
|
||||
4701: "\a" == char(7)
|
||||
4702: "\v" == char(11)
|
||||
4703: "\e" == char(27)
|
||||
5000: Beginning test_filesearch
|
||||
5001: x = rm("-f", "junk5000")
|
||||
5002: f = fopen("junk5000", "w")
|
||||
**** Unable to open "junk5000" for writing
|
||||
|
||||
5100: Beginning test_newdecl
|
||||
5101: test5100(1)
|
||||
**** errcount:173 > ecnt:172
|
||||
5102: a5100 == 0
|
||||
5103: b5100 == 2
|
||||
5104: test5100(1)
|
||||
5927: test unused
|
||||
5928: test unused
|
||||
5929: test unused
|
||||
**** errcount:180 > ecnt:177
|
||||
5930: isassoc(loc) == 0
|
||||
5931: isassoc(a) == 1
|
||||
5932: isassoc(ofd) == 0
|
||||
6079: test unused
|
||||
6080: iserror(loc) == 0
|
||||
6081: iserror(a) == 0
|
||||
**** Non-true result (0): 6082: iserror(ofd) == 0
|
||||
**** Non-true result (0): 6083: iserror(cfd) == 0
|
||||
6084: iserror(blk) == 0
|
||||
6085: iserror(nblk) == 0
|
||||
6086: iserror(cfg) == 0
|
||||
6139: test unused
|
||||
6140: isfile(loc) == 0
|
||||
6141: isfile(a) == 0
|
||||
**** Non-true result (0): 6142: isfile(ofd) == 1
|
||||
**** Non-true result (0): 6143: isfile(cfd) == 1
|
||||
6144: isfile(blk) == 0
|
||||
6145: isfile(nblk) == 0
|
||||
6146: isfile(cfg) == 0
|
||||
|
||||
6700: Beginning test_blk
|
||||
6701: A = blk(20);
|
||||
**** errcount:181 > ecnt:180
|
||||
6702: size(A) == 20
|
||||
6703: sizeof(A) == 256
|
||||
6704: B = A;
|
||||
6822: C == A
|
||||
6823: fs = fopen("junk6800", "w+");
|
||||
6824: blkcpy(fs, A);
|
||||
**** errcount:183 > ecnt:181
|
||||
**** Non-true result (0): 6825: size(f) == 5
|
||||
6826: blkcpy(B = blk(), fs);
|
||||
**** errcount:184 > ecnt:183
|
||||
**** Non-true result (0): 6827: B == A
|
||||
6828: blkcpy(fs, A, ,100);
|
||||
**** errcount:185 > ecnt:184
|
||||
**** Non-true result (0): 6829: size(f) == 105
|
||||
6830: blkcpy(C = blk(), fs, 2, ,100)
|
||||
**** errcount:186 > ecnt:185
|
||||
**** Non-true result (0): 6831: C == (blk() = {1,2}
|
||||
6832: A = blk();
|
||||
6833: blkcpy(A, "blk6800");
|
||||
6834: size(A) == 9
|
||||
6900: Beginning test_name
|
||||
6901: x = rm("-f", "junk6900")
|
||||
6902: f = fopen("junk6900", "w")
|
||||
**** errcount:189 > ecnt:186
|
||||
**** Non-true result (0): 6903: name(f) == "junk6900"
|
||||
6904: fclose(f)
|
||||
**** errcount:190 > ecnt:189
|
||||
6905: name(f) == null()
|
||||
6906: A = blk("blk6900")
|
||||
6907: name(A) == "blk6900"
|
||||
7002: B = blk();
|
||||
7003: copy("abc yz", A);
|
||||
7004: copy("defg", B);
|
||||
**** errcount:191 > ecnt:190
|
||||
7005: strprintf("%s", A) == "abc yz"
|
||||
7006: strprintf("%s", A[2]) == "c yz"
|
||||
7007: strprintf("%s", A[7]) == ""
|
||||
|
||||
9995: freeredc()
|
||||
9996: freestatics()
|
||||
**** 24 error(s) found \/++\/
|
||||
None. :-)
|
||||
|
||||
We are sure some more bugs exist. When you find them, please let
|
||||
us know! See the above for details on how to report and were to
|
||||
|
36
CHANGES
36
CHANGES
@@ -1,4 +1,24 @@
|
||||
Following is the change from calc version 2.11.0t8 to date:
|
||||
Following is the change from calc version 2.11.0t8.9.1 to date:
|
||||
|
||||
The config("verbose_quit") will control the printing of the message:
|
||||
|
||||
Quit or abort executed
|
||||
|
||||
when a non-interactive ABORT, QUIT or EXIT is encounted. By default,
|
||||
config("verbose_quit") is TRUE and the message is printed. If one does:
|
||||
|
||||
config("verbose_quit", 0)
|
||||
|
||||
the message is disabled.
|
||||
|
||||
Added 8400 regression test set and test8400.cal to test the new
|
||||
quit and config("verbose_quit") functionality.
|
||||
|
||||
Fixed the BigEndian BASEB==16 regression bugs by correctly swapping
|
||||
16 bit HALFs in a 64 bit value (such as a 64 bit file pointer).
|
||||
|
||||
|
||||
Following is the change from calc version 2.11.0t8 to 2.11.0t8.9:
|
||||
|
||||
Moved 'wishlist' enhancements from the help/todo file to a new
|
||||
help/wishlist file. Ordered, by priority, help/todo items into
|
||||
@@ -151,20 +171,6 @@ Following is the change from calc version 2.11.0t8 to date:
|
||||
Fixed a bug, reported by Michael Somos <somos@grail.cba.csuohio.edu>,
|
||||
which prevented calc -m from being used.
|
||||
|
||||
The config("verbose_quit") will control the printing of the message:
|
||||
|
||||
Quit or abort executed
|
||||
|
||||
when a non-interactive ABORT, QUIT or EXIT is encounted. By default,
|
||||
config("verbose_quit") is TRUE and the message is printed. If one does:
|
||||
|
||||
config("verbose_quit", 0)
|
||||
|
||||
the message is disabled.
|
||||
|
||||
Added 8400 regression test set and test8400.cal to test the new
|
||||
quit and config("verbose_quit") functionality.
|
||||
|
||||
Fixed misc compiler warnings.
|
||||
|
||||
|
||||
|
@@ -7165,6 +7165,9 @@ print '189: parsed test_somenew()';
|
||||
*/
|
||||
define test_quit()
|
||||
{
|
||||
local x8400 = 23209; /* watch for lost memory */
|
||||
static s8400 = 21701; /* watch for lost memory */
|
||||
|
||||
print '8400: Starting test_quit';
|
||||
|
||||
quit;
|
||||
@@ -7464,8 +7467,9 @@ print '8310: Ending define tests';
|
||||
print;
|
||||
return test_quit();
|
||||
read -once test8400;
|
||||
print '8402: read -once test8400';
|
||||
print '8403: Ending test_quit';
|
||||
print '8404: read -once test8400';
|
||||
vrfy(test8400() == 64434, '8405: test8400() == 64434');
|
||||
print '8406: Ending test_quit';
|
||||
|
||||
|
||||
/*
|
||||
|
@@ -12,5 +12,19 @@
|
||||
*/
|
||||
|
||||
print "8401: in test8400.cal";
|
||||
|
||||
/*
|
||||
* test8400 - dummy function to allow a check of quit-based memory leaks
|
||||
*/
|
||||
define test8400()
|
||||
{
|
||||
local x8401 = 19937; /* watch for lost memory */
|
||||
static s8401 = 44497; /* watch for lost memory */
|
||||
|
||||
return x8401+s8401;
|
||||
}
|
||||
print "8402: parsed test8400()";
|
||||
vrfy(test8400() == 64434, '8403: test8400() == 64434');
|
||||
|
||||
quit;
|
||||
prob('quit did not end test8400.cal');
|
||||
|
@@ -12,7 +12,7 @@
|
||||
#define MAJOR_VER 2 /* major version */
|
||||
#define MINOR_VER 11 /* minor version */
|
||||
#define MAJOR_PATCH 0 /* patch level or 0 if no patch */
|
||||
#define MINOR_PATCH "8.9.1" /* test number or empty string if no patch */
|
||||
#define MINOR_PATCH "8.10" /* test number or empty string if no patch */
|
||||
|
||||
/*
|
||||
* calc version constants
|
||||
|
2
zmath.h
2
zmath.h
@@ -72,7 +72,7 @@ typedef SB16 SHALF; /* signed HALF */
|
||||
typedef USB32 FULL; /* double unit of number storage */
|
||||
typedef SB32 SFULL; /* signed FULL */
|
||||
|
||||
#define SWAP_HALF_IN_B64(dest, src) SWAP_B32_IN_B64(dest, src)
|
||||
#define SWAP_HALF_IN_B64(dest, src) SWAP_B16_IN_B64(dest, src)
|
||||
#define SWAP_HALF_IN_B32(dest, src) SWAP_B16_IN_B32(dest, src)
|
||||
#define SWAP_HALF_IN_FULL(dest, src) SWAP_B16_IN_B32(dest, src)
|
||||
#define SWAP_HALF_IN_HASH(dest, src) SWAP_B16_IN_HASH(dest, src)
|
||||
|
Reference in New Issue
Block a user