From 077ba65285d559e40aeaa8384a8f9f9013b8bf79 Mon Sep 17 00:00:00 2001 From: Landon Curt Noll Date: Thu, 14 Aug 2025 18:34:32 -0700 Subject: [PATCH] Release v2.16.0.0 The following are the changes in this release: Starting with calc version 2.16.0.0, the ability to perform arithmetic on addresses of values in calc objects has been greatly restricted. Most arithmetic on of value addresses could easily cause calc to crash. For example, prior to calc version 2.16.0.0, the following command was likely to crash calc: calc '*((&.)+1e9)' Subtracting two value addresses is permitted, however there is NO guarantee that the address of a value will remain consistent across calc runs. Addresses of values depend on the circumstances of when the calc values were formed. The above restrictions and caveats apply to addresses of values. Such restrictions and caveats to NOT apply to the addresses of octets, NOR to the addresses within strings. If isptr(x) == 2, then x is value-pointer and the above mentioned restrictions and caveats apply. See "help address" for more information on value address arithmetic. Added E_INVALID_DEREF (10610) error code to indicate the invalid dereferencing a non-variable. Added E_INVALID_ADDR_OP (10611) error code to indicate an invalid arithmetic address operation. We plan to let this most recent change settle down before performing the calc v2 to calc v3 fork. Therefore, version 2.16.1.0 will form the basis for the calc v2 to calc v3 fork. --- Makefile | 2 +- Makefile.config | 4 ++-- version.h | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 1f0bbb4..5c2540c 100644 --- a/Makefile +++ b/Makefile @@ -3207,7 +3207,7 @@ prep: ${Q}echo '=-=-=-=-=-= end of ${MAKE} chk =-=-=-=-=-=' ${Q}echo @${Q}if ! ./chk_tree >/dev/null 2>&1; then \ - echo almost satifactory except for chk_tree; \ + echo almost satisfactory except for chk_tree; \ else \ echo All is OK; \ fi diff --git a/Makefile.config b/Makefile.config index 9c86a46..7b05eae 100644 --- a/Makefile.config +++ b/Makefile.config @@ -1245,11 +1245,11 @@ EXT= # The calc version in the form of x.y.z.w # -VERSION= 2.15.1.2 +VERSION= 2.16.0.0 # The calc major version in the form of x.y.z # -VER= 2.15.1 +VER= 2.16.0 # Names of shared libraries with versions # diff --git a/version.h b/version.h index cb48788..243496e 100644 --- a/version.h +++ b/version.h @@ -62,9 +62,9 @@ * bug fix and improvement updates will cause MINOR_PATCH to increment. */ #define MAJOR_VER 2 /* level 1: major library version */ -#define MINOR_VER 15 /* level 2: minor library version */ -#define MAJOR_PATCH 1 /* level 3: major software version level */ -#define MINOR_PATCH 2 /* level 4: minor software version level */ +#define MINOR_VER 16 /* level 2: minor library version */ +#define MAJOR_PATCH 0 /* level 3: major software version level */ +#define MINOR_PATCH 0 /* level 4: minor software version level */ /* * Defining PERMIT_DANGEROUS_ADDRESS_ARITHMETIC is NOT supported!