Compare commits

...

13 Commits

Author SHA1 Message Date
Landon Curt Noll
db83b7383f prep CHANGES for the next release of calc 2025-08-13 12:53:21 -07:00
Landon Curt Noll
d9245844aa removed use of have_memmv.c and HAVE_MEMMOVE, prep for version 2.15.1.2
Removed use of HAVE_MEMMOVE as well have_memmv.c.  Removed the
building and including of have_memmv.h.  Removed the memmove()
function in blkcpy.c, used when HAVE_MEMMOVE was NOT defined.
The libc memmove(3) function as defined by <string.h> is now
required to compile calc because the replacement code in
blkcpy.c q was problematic, especially when regions overlap.
The HAVE_MEMMOVE make symbol was removed from Makefile.config.
Thanks to GitHub user @skeeto for reporting this problem.
2025-08-13 12:42:45 -07:00
Landon Curt Noll
8542143463 Merge pull request #161 from skeeto/fix-missing-includes
Add includes to alloc.h for CONST and E_FUNC
2025-08-13 10:50:56 -07:00
Christopher Wellons
50cb6ec798 Add includes to alloc.h for CONST and E_FUNC 2025-08-07 20:13:18 -04:00
Landon Curt Noll
41951e2c09 Merge pull request #159 from Gusted/patch-1 2025-06-15 20:00:28 -07:00
Gusted
b9cee333b2 Update description of log2's help page 2025-06-15 21:30:01 +02:00
Landon Curt Noll
e35bb7ffa6 update CHANGES
Declare version 2.16.0.0 will form the basis for the calc v2 to calc v3 fork.
2025-04-27 20:45:54 -07:00
Landon Curt Noll
c5b64c373b Update README.md
Fix typo
2025-04-24 01:34:48 -07:00
Landon Curt Noll
4017579aeb prep CHANGES for the next release of calc 2025-04-23 19:33:56 -07:00
Landon Curt Noll
88fb6a4e47 prep CHANGES for the next release of calc 2025-04-23 19:31:51 -07:00
Landon Curt Noll
7eb7e9de1f change VERSION from 2.15.1.0 to 2.15.1.1 2025-04-23 19:30:21 -07:00
Landon Curt Noll
42d5749da2 prep CHANGES for the next release of calc
Change Makefile.config to, if not using not HomeBrew, then try to
detect macports and/or using /opt/local/{lib,include}.

Changed version from 2.15.1.0 to 2.15.1.1.

Put full date range (1989-2025) of calc source into version.h.
2025-04-23 19:28:55 -07:00
Landon Curt Noll
bbcbb76369 improve security policy 2025-03-16 22:20:17 -07:00
13 changed files with 76 additions and 296 deletions

3
.gitignore vendored
View File

@@ -90,8 +90,6 @@ have_gettime
have_gettime.h have_gettime.h
have_inttypes.h have_inttypes.h
have_limits.h have_limits.h
have_memmv
have_memmv.h
have_newstr have_newstr
have_newstr.h have_newstr.h
have_offscl have_offscl
@@ -162,7 +160,6 @@ ll_tmp
longbits longbits
longbits.h longbits.h
Makefile.our Makefile.our
memmv_tmp
newstr_tmp newstr_tmp
NOTES NOTES
offscl_tmp offscl_tmp

24
CHANGES
View File

@@ -1,3 +1,25 @@
The following are the changes from calc version 2.15.1.2 to 2.15.1.2:
Removed use of HAVE_MEMMOVE as well have_memmv.c. Removed the
building and including of have_memmv.h. Removed the memmove()
function in blkcpy.c, used when HAVE_MEMMOVE was NOT defined.
The libc memmove(3) function as defined by <string.h> is now
required to compile calc because the replacement code in
blkcpy.c q was problematic, especially when regions overlap.
The HAVE_MEMMOVE make symbol was removed from Makefile.config.
Thanks to GitHub user @skeeto for reporting this problem.
The following are the changes from calc version 2.15.1.1 to 2.15.1.1:
Change Makefile.config to, if not using not HomeBrew, then try to
detect macports and/or using /opt/local/{lib,include}.
Put full date range (1989-2025) of calc source into version.h.
Version 2.16.0.0 will form the basis for the calc v2 to calc v3 fork.
The following are the changes from calc version 2.15.0.7 to 2.15.1.0: The following are the changes from calc version 2.15.0.7 to 2.15.1.0:
Converted all ASCII tabs to ASCII spaces using a 8 character Converted all ASCII tabs to ASCII spaces using a 8 character
@@ -8,8 +30,6 @@ The following are the changes from calc version 2.15.0.7 to 2.15.1.0:
Fixed trailblank. It was pruning . in its find search. Fixed trailblank. It was pruning . in its find search.
Added check for ASCII tabs is non-Makefiles. Added check for ASCII tabs is non-Makefiles.
This version will form the basis for the calc v2 to calc v3 fork.
The following are the changes from calc version 2.15.0.6 to 2.15.0.7: The following are the changes from calc version 2.15.0.6 to 2.15.0.7:

117
Makefile
View File

@@ -2,7 +2,7 @@
# #
# calc - arbitrary precision calculator # calc - arbitrary precision calculator
# #
# Copyright (C) 1999-2018,2021-2023 Landon Curt Noll # Copyright (C) 1999-2018,2021-2025 Landon Curt Noll
# #
# Suggestion: Read the HOWTO.INSTALL file. # Suggestion: Read the HOWTO.INSTALL file.
# #
@@ -173,7 +173,7 @@ LIB_H_SRC= alloc.h attribute.h banned.h blkcpy.h block.h bool.h byteswap.h \
BUILD_H_SRC= align32.h args.h charbit.h conf.h endian_calc.h errsym.h fposval.h \ BUILD_H_SRC= align32.h args.h charbit.h conf.h endian_calc.h errsym.h fposval.h \
have_arc4random.h have_ban_pragma.h have_const.h have_environ.h \ have_arc4random.h have_ban_pragma.h have_const.h have_environ.h \
have_fgetsetpos.h have_fpos_pos.h have_getpgid.h have_getprid.h \ have_fgetsetpos.h have_fpos_pos.h have_getpgid.h have_getprid.h \
have_getsid.h have_gettime.h have_inttypes.h have_limits.h have_memmv.h \ have_getsid.h have_gettime.h have_inttypes.h have_limits.h \
have_newstr.h have_offscl.h have_posscl.h have_rusage.h have_statfs.h \ have_newstr.h have_offscl.h have_posscl.h have_rusage.h have_statfs.h \
have_stdbool.h have_stdint.h have_stdlib.h have_strdup.h have_string.h \ have_stdbool.h have_stdint.h have_stdlib.h have_strdup.h have_string.h \
have_strlcat.h have_strlcpy.h have_sys_mount.h have_sys_param.h \ have_strlcat.h have_strlcpy.h have_sys_mount.h have_sys_param.h \
@@ -191,7 +191,7 @@ BUILD_C_SRC=
UTIL_C_SRC= align32.c charbit.c chk_c.c endian.c fposval.c have_arc4random.c \ UTIL_C_SRC= align32.c charbit.c chk_c.c endian.c fposval.c have_arc4random.c \
have_ban_pragma.c have_const.c have_environ.c have_fgetsetpos.c \ have_ban_pragma.c have_const.c have_environ.c have_fgetsetpos.c \
have_fpos_pos.c have_getpgid.c have_getprid.c have_getsid.c \ have_fpos_pos.c have_getpgid.c have_getprid.c have_getsid.c \
have_gettime.c have_memmv.c have_newstr.c have_offscl.c have_posscl.c \ have_gettime.c have_newstr.c have_offscl.c have_posscl.c \
have_rusage.c have_statfs.c have_stdvs.c have_strdup.c have_strlcat.c \ have_rusage.c have_statfs.c have_stdvs.c have_strdup.c have_strlcat.c \
have_strlcpy.c have_uid_t.c have_unused.c have_ustat.c have_varvs.c \ have_strlcpy.c have_uid_t.c have_unused.c have_ustat.c have_varvs.c \
longbits.c longbits.c
@@ -207,7 +207,7 @@ UTIL_MISC_SRC= fposval.h.def
# #
UTIL_OBJS= endian.o longbits.o have_newstr.o have_uid_t.o \ UTIL_OBJS= endian.o longbits.o have_newstr.o have_uid_t.o \
have_const.o fposval.o have_fgetsetpos.o have_fpos_pos.o \ have_const.o fposval.o have_fgetsetpos.o have_fpos_pos.o \
try_strarg.o have_stdvs.o have_varvs.o have_posscl.o have_memmv.o \ try_strarg.o have_stdvs.o have_varvs.o have_posscl.o \
have_ustat.o have_getsid.o have_getpgid.o have_environ.o \ have_ustat.o have_getsid.o have_getpgid.o have_environ.o \
have_gettime.o have_getprid.o ver_calc.o have_rusage.o have_strdup.o \ have_gettime.o have_getprid.o ver_calc.o have_rusage.o have_strdup.o \
have_unused.o have_ban_pragma.o have_strlcpy.o have_strlcat.o \ have_unused.o have_ban_pragma.o have_strlcpy.o have_strlcat.o \
@@ -216,7 +216,7 @@ UTIL_OBJS= endian.o longbits.o have_newstr.o have_uid_t.o \
# these temp files may be created (and removed) during the build of BUILD_C_SRC # these temp files may be created (and removed) during the build of BUILD_C_SRC
# #
UTIL_TMP= ll_tmp fpos_tmp fposval_tmp const_tmp uid_tmp newstr_tmp vs_tmp \ UTIL_TMP= ll_tmp fpos_tmp fposval_tmp const_tmp uid_tmp newstr_tmp vs_tmp \
memmv_tmp offscl_tmp posscl_tmp newstr_tmp \ offscl_tmp posscl_tmp newstr_tmp \
getsid_tmp gettime_tmp getprid_tmp rusage_tmp strdup_tmp getsid_tmp gettime_tmp getprid_tmp rusage_tmp strdup_tmp
# these utility executables may be created in the process of # these utility executables may be created in the process of
@@ -1234,7 +1234,7 @@ have_fpos_pos.h: have_fpos_pos.c have_fgetsetpos.h have_posscl.h have_string.h \
fposval.h: fposval.c have_fgetsetpos.h have_fpos_pos.h have_offscl.h have_posscl.h \ fposval.h: fposval.c have_fgetsetpos.h have_fpos_pos.h have_offscl.h have_posscl.h \
endian_calc.h banned.h have_ban_pragma.h fposval.h.def alloc.h \ endian_calc.h banned.h have_ban_pragma.h fposval.h.def alloc.h \
have_newstr.h have_memmv.h have_string.h have_const.h have_string.h \ have_newstr.h have_string.h have_const.h have_string.h \
have_unused.h have_stdbool.h ${MK_SET} have_unused.h have_stdbool.h ${MK_SET}
${Q} ${RM} -f fposval_tmp $@ ${Q} ${RM} -f fposval_tmp $@
${H} echo 'forming $@' ${H} echo 'forming $@'
@@ -1622,46 +1622,6 @@ have_newstr.h: have_newstr.c banned.h have_ban_pragma.h have_string.h ${MK_SET}
${TRUE}; \ ${TRUE}; \
fi fi
have_memmv.h: have_memmv.c banned.h have_ban_pragma.h have_string.h ${MK_SET}
${Q} ${RM} -f have_memmv have_memmv.o memmv_tmp $@
${H} echo 'forming $@'
${Q} echo '/*' > $@
${Q} echo ' * DO NOT EDIT -- generated by the Makefile rule $@' >> $@
${Q} echo ' */' >> $@
${Q} echo '' >> $@
${Q} echo '' >> $@
${Q} echo '#if !defined(CALC_HAVE_MEMMV_H)' >> $@
${Q} echo '#define CALC_HAVE_MEMMV_H' >> $@
${Q} echo '' >> $@
${Q} echo '' >> $@
${Q} echo '/* do we have or want memmove()? */' >> $@
${Q} ${RM} -f have_memmv.o have_memmv
-${Q} ${LCC} ${ICFLAGS} ${HAVE_MEMMOVE} have_memmv.c -c ${S} \
|| ${TRUE}
-${Q} ${LCC} ${ILDFLAGS} have_memmv.o -o have_memmv${EXT} ${S} \
|| ${TRUE}
-${Q} ./have_memmv${EXT} > memmv_tmp ${E} \
|| ${TRUE}
-${Q} if [ -s memmv_tmp ]; then \
${CAT} memmv_tmp >> $@; \
else \
echo '#undef HAVE_MEMMOVE /* no */' >> $@; \
fi
${Q} echo '' >> $@
${Q} echo '' >> $@
${Q} echo '#endif /* !CALC_HAVE_MEMMV_H */' >> $@
${Q} ${RM} -f have_memmv have_memmv.o memmv_tmp
${H} echo '$@ formed'
-@if [ -z "${Q}" ]; then \
echo ''; \
echo '=-=-= start of $@ =-=-='; \
${CAT} $@; \
echo '=-=-= end of $@ =-=-='; \
echo ''; \
else \
${TRUE}; \
fi
have_ustat.h: have_ustat.c banned.h have_ban_pragma.h ${MK_SET} have_ustat.h: have_ustat.c banned.h have_ban_pragma.h ${MK_SET}
${Q} ${RM} -f ustat_tmp $@ ${Q} ${RM} -f ustat_tmp $@
${H} echo 'forming $@' ${H} echo 'forming $@'
@@ -2207,7 +2167,7 @@ errsym.h: errcode${EXT}
fi fi
errcode${EXT}: errtbl.c attribute.h bool.h errtbl.h have_const.h have_stdbool.h have_newstr.h \ errcode${EXT}: errtbl.c attribute.h bool.h errtbl.h have_const.h have_stdbool.h have_newstr.h \
have_memmv.h endian_calc.h longbits.h ${MK_SET} endian_calc.h longbits.h ${MK_SET}
${RM} -f $@ ${RM} -f $@
${LCC} ${ICFLAGS} ${ILDFLAGS} -DERRCODE_SRC errtbl.c -o $@ ${LCC} ${ICFLAGS} ${ILDFLAGS} -DERRCODE_SRC errtbl.c -o $@
@@ -2650,7 +2610,7 @@ version:
@echo ${VERSION} @echo ${VERSION}
ver_calc${EXT}: version.c strl.c have_string.h have_const.h have_newstr.h \ ver_calc${EXT}: version.c strl.c have_string.h have_const.h have_newstr.h \
have_strlcpy.h have_memmv.h have_strlcat.h endian_calc.h longbits.h \ have_strlcpy.h have_strlcat.h endian_calc.h longbits.h \
have_unused.h charbit.h have_stdbool.h have_unused.h charbit.h have_stdbool.h
${RM} -f $@ ${RM} -f $@
${LCC} ${ICFLAGS} -DCALC_VER ${ILDFLAGS} version.c strl.c -o $@ ${LCC} ${ICFLAGS} -DCALC_VER ${ILDFLAGS} version.c strl.c -o $@
@@ -2922,7 +2882,6 @@ env:
@echo 'HAVE_GETTIME=${HAVE_GETTIME}'; echo '' @echo 'HAVE_GETTIME=${HAVE_GETTIME}'; echo ''
@echo 'HAVE_INTTYPES_H=${HAVE_INTTYPES_H}'; echo '' @echo 'HAVE_INTTYPES_H=${HAVE_INTTYPES_H}'; echo ''
@echo 'HAVE_LIMITS_H=${HAVE_LIMITS_H}'; echo '' @echo 'HAVE_LIMITS_H=${HAVE_LIMITS_H}'; echo ''
@echo 'HAVE_MEMMOVE=${HAVE_MEMMOVE}'; echo ''
@echo 'HAVE_NEWSTR=${HAVE_NEWSTR}'; echo '' @echo 'HAVE_NEWSTR=${HAVE_NEWSTR}'; echo ''
@echo 'HAVE_OFFSCL=${HAVE_OFFSCL}'; echo '' @echo 'HAVE_OFFSCL=${HAVE_OFFSCL}'; echo ''
@echo 'HAVE_POSSCL=${HAVE_POSSCL}'; echo '' @echo 'HAVE_POSSCL=${HAVE_POSSCL}'; echo ''
@@ -4082,7 +4041,6 @@ addop.o: hash.h
addop.o: have_ban_pragma.h addop.o: have_ban_pragma.h
addop.o: have_const.h addop.o: have_const.h
addop.o: have_limits.h addop.o: have_limits.h
addop.o: have_memmv.h
addop.o: have_newstr.h addop.o: have_newstr.h
addop.o: have_stdbool.h addop.o: have_stdbool.h
addop.o: have_stdlib.h addop.o: have_stdlib.h
@@ -4124,7 +4082,6 @@ assocfunc.o: hash.h
assocfunc.o: have_ban_pragma.h assocfunc.o: have_ban_pragma.h
assocfunc.o: have_const.h assocfunc.o: have_const.h
assocfunc.o: have_limits.h assocfunc.o: have_limits.h
assocfunc.o: have_memmv.h
assocfunc.o: have_newstr.h assocfunc.o: have_newstr.h
assocfunc.o: have_stdbool.h assocfunc.o: have_stdbool.h
assocfunc.o: have_stdlib.h assocfunc.o: have_stdlib.h
@@ -4159,7 +4116,6 @@ blkcpy.o: have_ban_pragma.h
blkcpy.o: have_const.h blkcpy.o: have_const.h
blkcpy.o: have_fgetsetpos.h blkcpy.o: have_fgetsetpos.h
blkcpy.o: have_limits.h blkcpy.o: have_limits.h
blkcpy.o: have_memmv.h
blkcpy.o: have_newstr.h blkcpy.o: have_newstr.h
blkcpy.o: have_stdbool.h blkcpy.o: have_stdbool.h
blkcpy.o: have_stdlib.h blkcpy.o: have_stdlib.h
@@ -4190,7 +4146,6 @@ block.o: hash.h
block.o: have_ban_pragma.h block.o: have_ban_pragma.h
block.o: have_const.h block.o: have_const.h
block.o: have_limits.h block.o: have_limits.h
block.o: have_memmv.h
block.o: have_newstr.h block.o: have_newstr.h
block.o: have_stdbool.h block.o: have_stdbool.h
block.o: have_stdlib.h block.o: have_stdlib.h
@@ -4218,7 +4173,6 @@ byteswap.o: errtbl.h
byteswap.o: have_ban_pragma.h byteswap.o: have_ban_pragma.h
byteswap.o: have_const.h byteswap.o: have_const.h
byteswap.o: have_limits.h byteswap.o: have_limits.h
byteswap.o: have_memmv.h
byteswap.o: have_newstr.h byteswap.o: have_newstr.h
byteswap.o: have_stdbool.h byteswap.o: have_stdbool.h
byteswap.o: have_stdlib.h byteswap.o: have_stdlib.h
@@ -4250,7 +4204,6 @@ calc.o: hash.h
calc.o: have_ban_pragma.h calc.o: have_ban_pragma.h
calc.o: have_const.h calc.o: have_const.h
calc.o: have_limits.h calc.o: have_limits.h
calc.o: have_memmv.h
calc.o: have_newstr.h calc.o: have_newstr.h
calc.o: have_stdbool.h calc.o: have_stdbool.h
calc.o: have_stdlib.h calc.o: have_stdlib.h
@@ -4309,7 +4262,6 @@ codegen.o: hash.h
codegen.o: have_ban_pragma.h codegen.o: have_ban_pragma.h
codegen.o: have_const.h codegen.o: have_const.h
codegen.o: have_limits.h codegen.o: have_limits.h
codegen.o: have_memmv.h
codegen.o: have_newstr.h codegen.o: have_newstr.h
codegen.o: have_stdbool.h codegen.o: have_stdbool.h
codegen.o: have_stdlib.h codegen.o: have_stdlib.h
@@ -4347,7 +4299,6 @@ comfunc.o: errtbl.h
comfunc.o: have_ban_pragma.h comfunc.o: have_ban_pragma.h
comfunc.o: have_const.h comfunc.o: have_const.h
comfunc.o: have_limits.h comfunc.o: have_limits.h
comfunc.o: have_memmv.h
comfunc.o: have_newstr.h comfunc.o: have_newstr.h
comfunc.o: have_stdbool.h comfunc.o: have_stdbool.h
comfunc.o: have_stdlib.h comfunc.o: have_stdlib.h
@@ -4372,7 +4323,6 @@ commath.o: errtbl.h
commath.o: have_ban_pragma.h commath.o: have_ban_pragma.h
commath.o: have_const.h commath.o: have_const.h
commath.o: have_limits.h commath.o: have_limits.h
commath.o: have_memmv.h
commath.o: have_newstr.h commath.o: have_newstr.h
commath.o: have_stdbool.h commath.o: have_stdbool.h
commath.o: have_stdlib.h commath.o: have_stdlib.h
@@ -4401,7 +4351,6 @@ config.o: hash.h
config.o: have_ban_pragma.h config.o: have_ban_pragma.h
config.o: have_const.h config.o: have_const.h
config.o: have_limits.h config.o: have_limits.h
config.o: have_memmv.h
config.o: have_newstr.h config.o: have_newstr.h
config.o: have_stdbool.h config.o: have_stdbool.h
config.o: have_stdlib.h config.o: have_stdlib.h
@@ -4440,7 +4389,6 @@ const.o: hash.h
const.o: have_ban_pragma.h const.o: have_ban_pragma.h
const.o: have_const.h const.o: have_const.h
const.o: have_limits.h const.o: have_limits.h
const.o: have_memmv.h
const.o: have_newstr.h const.o: have_newstr.h
const.o: have_stdbool.h const.o: have_stdbool.h
const.o: have_stdlib.h const.o: have_stdlib.h
@@ -4473,7 +4421,6 @@ custom.o: hash.h
custom.o: have_ban_pragma.h custom.o: have_ban_pragma.h
custom.o: have_const.h custom.o: have_const.h
custom.o: have_limits.h custom.o: have_limits.h
custom.o: have_memmv.h
custom.o: have_newstr.h custom.o: have_newstr.h
custom.o: have_stdbool.h custom.o: have_stdbool.h
custom.o: have_stdlib.h custom.o: have_stdlib.h
@@ -4509,7 +4456,6 @@ errtbl.o: func.h
errtbl.o: hash.h errtbl.o: hash.h
errtbl.o: have_const.h errtbl.o: have_const.h
errtbl.o: have_limits.h errtbl.o: have_limits.h
errtbl.o: have_memmv.h
errtbl.o: have_newstr.h errtbl.o: have_newstr.h
errtbl.o: have_stdbool.h errtbl.o: have_stdbool.h
errtbl.o: have_stdlib.h errtbl.o: have_stdlib.h
@@ -4546,7 +4492,6 @@ file.o: have_const.h
file.o: have_fgetsetpos.h file.o: have_fgetsetpos.h
file.o: have_fpos_pos.h file.o: have_fpos_pos.h
file.o: have_limits.h file.o: have_limits.h
file.o: have_memmv.h
file.o: have_newstr.h file.o: have_newstr.h
file.o: have_stdbool.h file.o: have_stdbool.h
file.o: have_stdlib.h file.o: have_stdlib.h
@@ -4576,7 +4521,6 @@ fposval.o: have_const.h
fposval.o: have_fgetsetpos.h fposval.o: have_fgetsetpos.h
fposval.o: have_fpos_pos.h fposval.o: have_fpos_pos.h
fposval.o: have_limits.h fposval.o: have_limits.h
fposval.o: have_memmv.h
fposval.o: have_newstr.h fposval.o: have_newstr.h
fposval.o: have_offscl.h fposval.o: have_offscl.h
fposval.o: have_posscl.h fposval.o: have_posscl.h
@@ -4610,7 +4554,6 @@ func.o: have_ban_pragma.h
func.o: have_const.h func.o: have_const.h
func.o: have_fgetsetpos.h func.o: have_fgetsetpos.h
func.o: have_limits.h func.o: have_limits.h
func.o: have_memmv.h
func.o: have_newstr.h func.o: have_newstr.h
func.o: have_rusage.h func.o: have_rusage.h
func.o: have_stdbool.h func.o: have_stdbool.h
@@ -4657,7 +4600,6 @@ hash.o: hash.h
hash.o: have_ban_pragma.h hash.o: have_ban_pragma.h
hash.o: have_const.h hash.o: have_const.h
hash.o: have_limits.h hash.o: have_limits.h
hash.o: have_memmv.h
hash.o: have_newstr.h hash.o: have_newstr.h
hash.o: have_stdbool.h hash.o: have_stdbool.h
hash.o: have_stdlib.h hash.o: have_stdlib.h
@@ -4709,10 +4651,6 @@ have_getsid.o: have_unistd.h
have_gettime.o: banned.h have_gettime.o: banned.h
have_gettime.o: have_ban_pragma.h have_gettime.o: have_ban_pragma.h
have_gettime.o: have_gettime.c have_gettime.o: have_gettime.c
have_memmv.o: banned.h
have_memmv.o: have_ban_pragma.h
have_memmv.o: have_memmv.c
have_memmv.o: have_string.h
have_newstr.o: banned.h have_newstr.o: banned.h
have_newstr.o: have_ban_pragma.h have_newstr.o: have_ban_pragma.h
have_newstr.o: have_newstr.c have_newstr.o: have_newstr.c
@@ -4787,7 +4725,6 @@ help.o: hash.h
help.o: have_ban_pragma.h help.o: have_ban_pragma.h
help.o: have_const.h help.o: have_const.h
help.o: have_limits.h help.o: have_limits.h
help.o: have_memmv.h
help.o: have_newstr.h help.o: have_newstr.h
help.o: have_stdbool.h help.o: have_stdbool.h
help.o: have_stdlib.h help.o: have_stdlib.h
@@ -4821,7 +4758,6 @@ hist.o: hash.h
hist.o: have_ban_pragma.h hist.o: have_ban_pragma.h
hist.o: have_const.h hist.o: have_const.h
hist.o: have_limits.h hist.o: have_limits.h
hist.o: have_memmv.h
hist.o: have_newstr.h hist.o: have_newstr.h
hist.o: have_stdbool.h hist.o: have_stdbool.h
hist.o: have_stdlib.h hist.o: have_stdlib.h
@@ -4862,7 +4798,6 @@ input.o: hash.h
input.o: have_ban_pragma.h input.o: have_ban_pragma.h
input.o: have_const.h input.o: have_const.h
input.o: have_limits.h input.o: have_limits.h
input.o: have_memmv.h
input.o: have_newstr.h input.o: have_newstr.h
input.o: have_stdbool.h input.o: have_stdbool.h
input.o: have_stdlib.h input.o: have_stdlib.h
@@ -4906,7 +4841,6 @@ label.o: hash.h
label.o: have_ban_pragma.h label.o: have_ban_pragma.h
label.o: have_const.h label.o: have_const.h
label.o: have_limits.h label.o: have_limits.h
label.o: have_memmv.h
label.o: have_newstr.h label.o: have_newstr.h
label.o: have_stdbool.h label.o: have_stdbool.h
label.o: have_stdlib.h label.o: have_stdlib.h
@@ -4944,7 +4878,6 @@ lib_calc.o: hash.h
lib_calc.o: have_ban_pragma.h lib_calc.o: have_ban_pragma.h
lib_calc.o: have_const.h lib_calc.o: have_const.h
lib_calc.o: have_limits.h lib_calc.o: have_limits.h
lib_calc.o: have_memmv.h
lib_calc.o: have_newstr.h lib_calc.o: have_newstr.h
lib_calc.o: have_stdbool.h lib_calc.o: have_stdbool.h
lib_calc.o: have_stdlib.h lib_calc.o: have_stdlib.h
@@ -4982,7 +4915,6 @@ lib_util.o: errtbl.h
lib_util.o: have_ban_pragma.h lib_util.o: have_ban_pragma.h
lib_util.o: have_const.h lib_util.o: have_const.h
lib_util.o: have_limits.h lib_util.o: have_limits.h
lib_util.o: have_memmv.h
lib_util.o: have_newstr.h lib_util.o: have_newstr.h
lib_util.o: have_stdbool.h lib_util.o: have_stdbool.h
lib_util.o: have_stdlib.h lib_util.o: have_stdlib.h
@@ -5009,7 +4941,6 @@ listfunc.o: hash.h
listfunc.o: have_ban_pragma.h listfunc.o: have_ban_pragma.h
listfunc.o: have_const.h listfunc.o: have_const.h
listfunc.o: have_limits.h listfunc.o: have_limits.h
listfunc.o: have_memmv.h
listfunc.o: have_newstr.h listfunc.o: have_newstr.h
listfunc.o: have_stdbool.h listfunc.o: have_stdbool.h
listfunc.o: have_stdlib.h listfunc.o: have_stdlib.h
@@ -5048,7 +4979,6 @@ matfunc.o: hash.h
matfunc.o: have_ban_pragma.h matfunc.o: have_ban_pragma.h
matfunc.o: have_const.h matfunc.o: have_const.h
matfunc.o: have_limits.h matfunc.o: have_limits.h
matfunc.o: have_memmv.h
matfunc.o: have_newstr.h matfunc.o: have_newstr.h
matfunc.o: have_stdbool.h matfunc.o: have_stdbool.h
matfunc.o: have_stdlib.h matfunc.o: have_stdlib.h
@@ -5083,7 +5013,6 @@ math_error.o: hash.h
math_error.o: have_ban_pragma.h math_error.o: have_ban_pragma.h
math_error.o: have_const.h math_error.o: have_const.h
math_error.o: have_limits.h math_error.o: have_limits.h
math_error.o: have_memmv.h
math_error.o: have_newstr.h math_error.o: have_newstr.h
math_error.o: have_stdbool.h math_error.o: have_stdbool.h
math_error.o: have_stdlib.h math_error.o: have_stdlib.h
@@ -5117,7 +5046,6 @@ obj.o: hash.h
obj.o: have_ban_pragma.h obj.o: have_ban_pragma.h
obj.o: have_const.h obj.o: have_const.h
obj.o: have_limits.h obj.o: have_limits.h
obj.o: have_memmv.h
obj.o: have_newstr.h obj.o: have_newstr.h
obj.o: have_stdbool.h obj.o: have_stdbool.h
obj.o: have_stdlib.h obj.o: have_stdlib.h
@@ -5159,7 +5087,6 @@ opcodes.o: have_ban_pragma.h
opcodes.o: have_const.h opcodes.o: have_const.h
opcodes.o: have_fgetsetpos.h opcodes.o: have_fgetsetpos.h
opcodes.o: have_limits.h opcodes.o: have_limits.h
opcodes.o: have_memmv.h
opcodes.o: have_newstr.h opcodes.o: have_newstr.h
opcodes.o: have_stdbool.h opcodes.o: have_stdbool.h
opcodes.o: have_stdlib.h opcodes.o: have_stdlib.h
@@ -5191,7 +5118,6 @@ pix.o: endian_calc.h
pix.o: have_ban_pragma.h pix.o: have_ban_pragma.h
pix.o: have_const.h pix.o: have_const.h
pix.o: have_limits.h pix.o: have_limits.h
pix.o: have_memmv.h
pix.o: have_newstr.h pix.o: have_newstr.h
pix.o: have_stdbool.h pix.o: have_stdbool.h
pix.o: have_stdlib.h pix.o: have_stdlib.h
@@ -5219,7 +5145,6 @@ poly.o: hash.h
poly.o: have_ban_pragma.h poly.o: have_ban_pragma.h
poly.o: have_const.h poly.o: have_const.h
poly.o: have_limits.h poly.o: have_limits.h
poly.o: have_memmv.h
poly.o: have_newstr.h poly.o: have_newstr.h
poly.o: have_stdbool.h poly.o: have_stdbool.h
poly.o: have_stdlib.h poly.o: have_stdlib.h
@@ -5243,7 +5168,6 @@ prime.o: endian_calc.h
prime.o: have_ban_pragma.h prime.o: have_ban_pragma.h
prime.o: have_const.h prime.o: have_const.h
prime.o: have_limits.h prime.o: have_limits.h
prime.o: have_memmv.h
prime.o: have_newstr.h prime.o: have_newstr.h
prime.o: have_stdbool.h prime.o: have_stdbool.h
prime.o: have_stdlib.h prime.o: have_stdlib.h
@@ -5269,7 +5193,6 @@ qfunc.o: errtbl.h
qfunc.o: have_ban_pragma.h qfunc.o: have_ban_pragma.h
qfunc.o: have_const.h qfunc.o: have_const.h
qfunc.o: have_limits.h qfunc.o: have_limits.h
qfunc.o: have_memmv.h
qfunc.o: have_newstr.h qfunc.o: have_newstr.h
qfunc.o: have_stdbool.h qfunc.o: have_stdbool.h
qfunc.o: have_stdlib.h qfunc.o: have_stdlib.h
@@ -5296,7 +5219,6 @@ qio.o: errtbl.h
qio.o: have_ban_pragma.h qio.o: have_ban_pragma.h
qio.o: have_const.h qio.o: have_const.h
qio.o: have_limits.h qio.o: have_limits.h
qio.o: have_memmv.h
qio.o: have_newstr.h qio.o: have_newstr.h
qio.o: have_stdbool.h qio.o: have_stdbool.h
qio.o: have_stdlib.h qio.o: have_stdlib.h
@@ -5322,7 +5244,6 @@ qmath.o: errtbl.h
qmath.o: have_ban_pragma.h qmath.o: have_ban_pragma.h
qmath.o: have_const.h qmath.o: have_const.h
qmath.o: have_limits.h qmath.o: have_limits.h
qmath.o: have_memmv.h
qmath.o: have_newstr.h qmath.o: have_newstr.h
qmath.o: have_stdbool.h qmath.o: have_stdbool.h
qmath.o: have_stdlib.h qmath.o: have_stdlib.h
@@ -5347,7 +5268,6 @@ qmod.o: errtbl.h
qmod.o: have_ban_pragma.h qmod.o: have_ban_pragma.h
qmod.o: have_const.h qmod.o: have_const.h
qmod.o: have_limits.h qmod.o: have_limits.h
qmod.o: have_memmv.h
qmod.o: have_newstr.h qmod.o: have_newstr.h
qmod.o: have_stdbool.h qmod.o: have_stdbool.h
qmod.o: have_stdlib.h qmod.o: have_stdlib.h
@@ -5372,7 +5292,6 @@ qtrans.o: errtbl.h
qtrans.o: have_ban_pragma.h qtrans.o: have_ban_pragma.h
qtrans.o: have_const.h qtrans.o: have_const.h
qtrans.o: have_limits.h qtrans.o: have_limits.h
qtrans.o: have_memmv.h
qtrans.o: have_newstr.h qtrans.o: have_newstr.h
qtrans.o: have_stdbool.h qtrans.o: have_stdbool.h
qtrans.o: have_stdlib.h qtrans.o: have_stdlib.h
@@ -5400,7 +5319,6 @@ quickhash.o: hash.h
quickhash.o: have_ban_pragma.h quickhash.o: have_ban_pragma.h
quickhash.o: have_const.h quickhash.o: have_const.h
quickhash.o: have_limits.h quickhash.o: have_limits.h
quickhash.o: have_memmv.h
quickhash.o: have_newstr.h quickhash.o: have_newstr.h
quickhash.o: have_stdbool.h quickhash.o: have_stdbool.h
quickhash.o: have_stdlib.h quickhash.o: have_stdlib.h
@@ -5434,7 +5352,6 @@ sample_many.o: hash.h
sample_many.o: have_ban_pragma.h sample_many.o: have_ban_pragma.h
sample_many.o: have_const.h sample_many.o: have_const.h
sample_many.o: have_limits.h sample_many.o: have_limits.h
sample_many.o: have_memmv.h
sample_many.o: have_newstr.h sample_many.o: have_newstr.h
sample_many.o: have_stdbool.h sample_many.o: have_stdbool.h
sample_many.o: have_stdlib.h sample_many.o: have_stdlib.h
@@ -5468,7 +5385,6 @@ sample_rand.o: hash.h
sample_rand.o: have_ban_pragma.h sample_rand.o: have_ban_pragma.h
sample_rand.o: have_const.h sample_rand.o: have_const.h
sample_rand.o: have_limits.h sample_rand.o: have_limits.h
sample_rand.o: have_memmv.h
sample_rand.o: have_newstr.h sample_rand.o: have_newstr.h
sample_rand.o: have_stdbool.h sample_rand.o: have_stdbool.h
sample_rand.o: have_stdlib.h sample_rand.o: have_stdlib.h
@@ -5500,7 +5416,6 @@ seed.o: have_getprid.h
seed.o: have_getsid.h seed.o: have_getsid.h
seed.o: have_gettime.h seed.o: have_gettime.h
seed.o: have_limits.h seed.o: have_limits.h
seed.o: have_memmv.h
seed.o: have_newstr.h seed.o: have_newstr.h
seed.o: have_rusage.h seed.o: have_rusage.h
seed.o: have_statfs.h seed.o: have_statfs.h
@@ -5538,7 +5453,6 @@ sha1.o: hash.h
sha1.o: have_ban_pragma.h sha1.o: have_ban_pragma.h
sha1.o: have_const.h sha1.o: have_const.h
sha1.o: have_limits.h sha1.o: have_limits.h
sha1.o: have_memmv.h
sha1.o: have_newstr.h sha1.o: have_newstr.h
sha1.o: have_stdbool.h sha1.o: have_stdbool.h
sha1.o: have_stdlib.h sha1.o: have_stdlib.h
@@ -5569,7 +5483,6 @@ size.o: hash.h
size.o: have_ban_pragma.h size.o: have_ban_pragma.h
size.o: have_const.h size.o: have_const.h
size.o: have_limits.h size.o: have_limits.h
size.o: have_memmv.h
size.o: have_newstr.h size.o: have_newstr.h
size.o: have_stdbool.h size.o: have_stdbool.h
size.o: have_stdlib.h size.o: have_stdlib.h
@@ -5603,7 +5516,6 @@ str.o: hash.h
str.o: have_ban_pragma.h str.o: have_ban_pragma.h
str.o: have_const.h str.o: have_const.h
str.o: have_limits.h str.o: have_limits.h
str.o: have_memmv.h
str.o: have_newstr.h str.o: have_newstr.h
str.o: have_stdbool.h str.o: have_stdbool.h
str.o: have_stdlib.h str.o: have_stdlib.h
@@ -5625,7 +5537,6 @@ strl.o: banned.h
strl.o: decl.h strl.o: decl.h
strl.o: have_ban_pragma.h strl.o: have_ban_pragma.h
strl.o: have_const.h strl.o: have_const.h
strl.o: have_memmv.h
strl.o: have_newstr.h strl.o: have_newstr.h
strl.o: have_string.h strl.o: have_string.h
strl.o: have_strlcat.h strl.o: have_strlcat.h
@@ -5651,7 +5562,6 @@ symbol.o: hash.h
symbol.o: have_ban_pragma.h symbol.o: have_ban_pragma.h
symbol.o: have_const.h symbol.o: have_const.h
symbol.o: have_limits.h symbol.o: have_limits.h
symbol.o: have_memmv.h
symbol.o: have_newstr.h symbol.o: have_newstr.h
symbol.o: have_stdbool.h symbol.o: have_stdbool.h
symbol.o: have_stdlib.h symbol.o: have_stdlib.h
@@ -5688,7 +5598,6 @@ token.o: hash.h
token.o: have_ban_pragma.h token.o: have_ban_pragma.h
token.o: have_const.h token.o: have_const.h
token.o: have_limits.h token.o: have_limits.h
token.o: have_memmv.h
token.o: have_newstr.h token.o: have_newstr.h
token.o: have_stdbool.h token.o: have_stdbool.h
token.o: have_stdlib.h token.o: have_stdlib.h
@@ -5725,7 +5634,6 @@ value.o: have_ban_pragma.h
value.o: have_const.h value.o: have_const.h
value.o: have_fgetsetpos.h value.o: have_fgetsetpos.h
value.o: have_limits.h value.o: have_limits.h
value.o: have_memmv.h
value.o: have_newstr.h value.o: have_newstr.h
value.o: have_stdbool.h value.o: have_stdbool.h
value.o: have_stdlib.h value.o: have_stdlib.h
@@ -5762,7 +5670,6 @@ version.o: hash.h
version.o: have_ban_pragma.h version.o: have_ban_pragma.h
version.o: have_const.h version.o: have_const.h
version.o: have_limits.h version.o: have_limits.h
version.o: have_memmv.h
version.o: have_newstr.h version.o: have_newstr.h
version.o: have_stdbool.h version.o: have_stdbool.h
version.o: have_stdlib.h version.o: have_stdlib.h
@@ -5793,7 +5700,6 @@ zfunc.o: errtbl.h
zfunc.o: have_ban_pragma.h zfunc.o: have_ban_pragma.h
zfunc.o: have_const.h zfunc.o: have_const.h
zfunc.o: have_limits.h zfunc.o: have_limits.h
zfunc.o: have_memmv.h
zfunc.o: have_newstr.h zfunc.o: have_newstr.h
zfunc.o: have_stdbool.h zfunc.o: have_stdbool.h
zfunc.o: have_stdlib.h zfunc.o: have_stdlib.h
@@ -5817,7 +5723,6 @@ zio.o: errtbl.h
zio.o: have_ban_pragma.h zio.o: have_ban_pragma.h
zio.o: have_const.h zio.o: have_const.h
zio.o: have_limits.h zio.o: have_limits.h
zio.o: have_memmv.h
zio.o: have_newstr.h zio.o: have_newstr.h
zio.o: have_stdbool.h zio.o: have_stdbool.h
zio.o: have_stdlib.h zio.o: have_stdlib.h
@@ -5842,7 +5747,6 @@ zmath.o: have_ban_pragma.h
zmath.o: have_const.h zmath.o: have_const.h
zmath.o: have_inttypes.h zmath.o: have_inttypes.h
zmath.o: have_limits.h zmath.o: have_limits.h
zmath.o: have_memmv.h
zmath.o: have_newstr.h zmath.o: have_newstr.h
zmath.o: have_stdbool.h zmath.o: have_stdbool.h
zmath.o: have_stdint.h zmath.o: have_stdint.h
@@ -5868,7 +5772,6 @@ zmod.o: errtbl.h
zmod.o: have_ban_pragma.h zmod.o: have_ban_pragma.h
zmod.o: have_const.h zmod.o: have_const.h
zmod.o: have_limits.h zmod.o: have_limits.h
zmod.o: have_memmv.h
zmod.o: have_newstr.h zmod.o: have_newstr.h
zmod.o: have_stdbool.h zmod.o: have_stdbool.h
zmod.o: have_stdlib.h zmod.o: have_stdlib.h
@@ -5893,7 +5796,6 @@ zmul.o: errtbl.h
zmul.o: have_ban_pragma.h zmul.o: have_ban_pragma.h
zmul.o: have_const.h zmul.o: have_const.h
zmul.o: have_limits.h zmul.o: have_limits.h
zmul.o: have_memmv.h
zmul.o: have_newstr.h zmul.o: have_newstr.h
zmul.o: have_stdbool.h zmul.o: have_stdbool.h
zmul.o: have_stdlib.h zmul.o: have_stdlib.h
@@ -5921,7 +5823,6 @@ zprime.o: hash.h
zprime.o: have_ban_pragma.h zprime.o: have_ban_pragma.h
zprime.o: have_const.h zprime.o: have_const.h
zprime.o: have_limits.h zprime.o: have_limits.h
zprime.o: have_memmv.h
zprime.o: have_newstr.h zprime.o: have_newstr.h
zprime.o: have_stdbool.h zprime.o: have_stdbool.h
zprime.o: have_stdlib.h zprime.o: have_stdlib.h
@@ -5955,7 +5856,6 @@ zrand.o: hash.h
zrand.o: have_ban_pragma.h zrand.o: have_ban_pragma.h
zrand.o: have_const.h zrand.o: have_const.h
zrand.o: have_limits.h zrand.o: have_limits.h
zrand.o: have_memmv.h
zrand.o: have_newstr.h zrand.o: have_newstr.h
zrand.o: have_stdbool.h zrand.o: have_stdbool.h
zrand.o: have_stdlib.h zrand.o: have_stdlib.h
@@ -5988,7 +5888,6 @@ zrandom.o: hash.h
zrandom.o: have_ban_pragma.h zrandom.o: have_ban_pragma.h
zrandom.o: have_const.h zrandom.o: have_const.h
zrandom.o: have_limits.h zrandom.o: have_limits.h
zrandom.o: have_memmv.h
zrandom.o: have_newstr.h zrandom.o: have_newstr.h
zrandom.o: have_stdbool.h zrandom.o: have_stdbool.h
zrandom.o: have_stdlib.h zrandom.o: have_stdlib.h

View File

@@ -2,7 +2,7 @@
# #
# Makefile.config - Calc configuration and compile configuration values # Makefile.config - Calc configuration and compile configuration values
# #
# Copyright (C) 2023 Landon Curt Noll # Copyright (C) 2023,2025 Landon Curt Noll
# #
# Suggestion: Read the HOWTO.INSTALL file. # Suggestion: Read the HOWTO.INSTALL file.
# #
@@ -436,18 +436,6 @@ HAVE_ARC4RANDOM=
HAVE_NEWSTR= HAVE_NEWSTR=
#HAVE_NEWSTR= -DHAVE_NO_NEWSTR #HAVE_NEWSTR= -DHAVE_NO_NEWSTR
# Determine if we have memmove()
#
# If HAVE_MEMMOVE is empty, this Makefile will run the have_memmv program
# to determine if memmove() is supported. If HAVE_MEMMOVE is set to
# -DHAVE_NO_MEMMOVE, then calc will use internal functions to simulate
# the memory move function that does correct overlapping memory moves.
#
# If in doubt, leave HAVE_MEMMOVE empty and this Makefile will figure it out.
#
HAVE_MEMMOVE=
#HAVE_MEMMOVE= -DHAVE_NO_MEMMOVE
# Determine if we have ustat() # Determine if we have ustat()
# #
# If HAVE_USTAT is empty, this Makefile will run the have_ustat program # If HAVE_USTAT is empty, this Makefile will run the have_ustat program
@@ -1112,6 +1100,9 @@ READLINE_EXTRAS= -lhistory -lncurses
#READLINE_LIB= -L${PREFIX}/lib -lreadline #READLINE_LIB= -L${PREFIX}/lib -lreadline
#READLINE_EXTRAS= -lhistory -lncurses #READLINE_EXTRAS= -lhistory -lncurses
# #
#READLINE_LIB= -L/opt/local/lib -lreadline
#READLINE_EXTRAS= -lhistory -lncurses
#
# For Apple OS X: install fink from http://fink.sourceforge.net # For Apple OS X: install fink from http://fink.sourceforge.net
# and then do a 'fink install readline' and then use: # and then do a 'fink install readline' and then use:
# #
@@ -1130,6 +1121,7 @@ READLINE_EXTRAS= -lhistory -lncurses
READLINE_INCLUDE= READLINE_INCLUDE=
#READLINE_INCLUDE= -I/usr/gnu/include #READLINE_INCLUDE= -I/usr/gnu/include
#READLINE_INCLUDE= -I${PREFIX}/include #READLINE_INCLUDE= -I${PREFIX}/include
#READLINE_INCLUDE= -I/opt/local/include
# Handle the case where macOS is being used with HomeBrew # Handle the case where macOS is being used with HomeBrew
# # and using the readline, history, and ncurses libraries. # # and using the readline, history, and ncurses libraries.
@@ -1137,6 +1129,16 @@ READLINE_INCLUDE=
ifneq ($(HOMEBREW_PREFIX),) ifneq ($(HOMEBREW_PREFIX),)
READLINE_LIB:= -L${HOMEBREW_PREFIX}/opt/readline/lib -lreadline READLINE_LIB:= -L${HOMEBREW_PREFIX}/opt/readline/lib -lreadline
READLINE_INCLUDE:= -I${HOMEBREW_PREFIX}/opt/readline/include READLINE_INCLUDE:= -I${HOMEBREW_PREFIX}/opt/readline/include
# If not HomeBrew, then try to detect macports and/or using /opt/local/{lib,include}
#
else # perhaps macports and/or using /opt/local/{lib,include} ?
ifneq ($(wildcard /opt/local/lib/*),)
READLINE_LIB:= -L/opt/local/lib -lreadline
endif
ifneq ($(wildcard /opt/local/incliude/*),)
READLINE_INCLUDE:= -I/opt/local/include
endif
endif # ($(HOMEBREW_PREFIX),) endif # ($(HOMEBREW_PREFIX),)
# If $PAGER is not set, use this program to display a help file # If $PAGER is not set, use this program to display a help file
@@ -1243,7 +1245,7 @@ EXT=
# The calc version in the form of x.y.z.w # The calc version in the form of x.y.z.w
# #
VERSION= 2.15.1.0 VERSION= 2.15.1.2
# The calc major version in the form of x.y.z # The calc major version in the form of x.y.z
# #

View File

@@ -8,7 +8,7 @@ on Debian: sudo apt install calc
on RHEL: sudo dnf install calc on RHEL: sudo dnf install calc
on Ubuntu: sudo apt install calc on Ubuntu: sudo apt install calc
via Termux: apt install calc via Termux: apt install calc
via src: sudo make clobber all chk instsll via src: sudo make clobber all chk install
``` ```
## TL;DR Run calc ## TL;DR Run calc
@@ -283,3 +283,8 @@ help unexpected
It contains information about differences between C and calc It contains information about differences between C and calc
that may surprise C programmers. that may surprise C programmers.
# Reporting Security Issues
To report a security issue, please visit "[Reporting Security Issues](https://github.com/lcn2/calc/security/policy)".

View File

@@ -1,4 +1,16 @@
# Security Policy # Reporting Security Issues
We take security bugs seriously. We appreciate your efforts to responsibly
disclose your findings, and will make every effort to acknowledge your
contributions for any verified security issues when they have been fixed.
To report a security issue, click on: "[Open a draft security advisory](https://github.com/lcn2/calc/security/advisories/new)"
We will send a response indicating the next steps in handling your
report. After the initial reply to your report, we will keep you informed
of the progress towards a fix and full announcement, and may ask for
additional information or guidance.
## Supported Versions ## Supported Versions
@@ -9,11 +21,3 @@ If the most recent stable of calc is also supported with security updates.
FYI: please review the BUGS file, or enter the calc command: FYI: please review the BUGS file, or enter the calc command:
; help BUGS ; help BUGS
## Reporting a Vulnerability
Please create a calc GitHub repo issue:
https://github.com/lcn2/calc/issues
Click on ((New issue)) and follow the issue template.

19
alloc.h
View File

@@ -1,7 +1,7 @@
/* /*
* alloc - storage allocation and storage debug macros * alloc - storage allocation and storage debug macros
* *
* Copyright (C) 1999-2007,2014 David I. Bell * Copyright (C) 1999-2007,2014,2025 David I. Bell
* *
* Calc is open software; you can redistribute it and/or modify it under * Calc is open software; you can redistribute it and/or modify it under
* the terms of the version 2.1 of the GNU Lesser General Public License * the terms of the version 2.1 of the GNU Lesser General Public License
@@ -29,13 +29,15 @@
#if defined(CALC_SRC) /* if we are building from the calc source tree */ #if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "decl.h"
# include "have_newstr.h" # include "have_newstr.h"
# include "have_string.h" # include "have_string.h"
# include "have_memmv.h" # include "have_const.h"
#else #else
# include <calc/decl.h>
# include <calc/have_newstr.h> # include <calc/have_newstr.h>
# include <calc/have_string.h> # include <calc/have_string.h>
# include <calc/have_memmv.h> # include <calc/have_const.h>
#endif #endif
#ifdef HAVE_STRING_H #ifdef HAVE_STRING_H
@@ -75,15 +77,4 @@ E_FUNC int strcmp();
#define strchr(s, c) index(s, c) #define strchr(s, c) index(s, c)
#endif /* HAVE_NEWSTR */ #endif /* HAVE_NEWSTR */
#if !defined(HAVE_MEMMOVE)
# undef MEMMOVE_SIZE_T
#if defined(FORCE_STDC) || \
(defined(__STDC__) && __STDC__ != 0) || defined(__cplusplus)
# define MEMMOVE_SIZE_T size_t
# else
# define MEMMOVE_SIZE_T long
# endif
E_FUNC void *memmove(void *s1, CONST void *s2, MEMMOVE_SIZE_T n);
#endif
#endif /* !INCLUDE_ALLOC_H */ #endif /* !INCLUDE_ALLOC_H */

View File

@@ -1,7 +1,7 @@
/* /*
* blkcpy - general values and related routines used by the calculator * blkcpy - general values and related routines used by the calculator
* *
* Copyright (C) 1999-2007,2021-2023 Landon Curt Noll and Ernest Bowen * Copyright (C) 1999-2007,2021-2023,2025 Landon Curt Noll and Ernest Bowen
* *
* Primary author: Landon Curt Noll * Primary author: Landon Curt Noll
* *
@@ -924,62 +924,6 @@ copyostr2blk(char *str,long ssi,long num,BLOCK *dblk,long dsi,bool noreloc)
dblk->datalen = newlen; dblk->datalen = newlen;
return 0; return 0;
} }
#if !defined(HAVE_MEMMOVE)
/*
* memmove - simulate the memory move function that deals with overlap
*
* Copying between objects that overlap will take place correctly.
*
* given:
* s1 destination
* s2 source
* n octet count
*
* returns:
* s1
*/
void *
memmove(void *s1, CONST void *s2, MEMMOVE_SIZE_T n)
{
/*
* firewall
*/
if (s1 == NULL || s2 == NULL) {
math_error("bogus memmove NULL ptr");
not_reached();
}
if (n <= 0) {
/* neg or 0 count does nothing */
return s1;
}
if ((char *)s1 == (char *)s2) {
/* copy to same location does nothing */
return s1;
}
/*
* determine if we need to deal with overlap copy
*/
if ((char *)s1 > (char *)s2 && (char *)s1 < (char *)s2+n) {
/*
* we have to copy backwards ... slowly
*/
while (n-- > 0) {
((char *)s1)[n] = ((char *)s2)[n];
}
} else {
/*
* safe ... no overlap problems
*/
(void) memcpy(s1, s2, n);
}
return s1;
}
#endif
/* /*

View File

@@ -2,7 +2,7 @@
# #
# custom - makefile for calc custom routines # custom - makefile for calc custom routines
# #
# Copyright (C) 1999-2006,2014,2017-2018,2021,2023 Landon Curt Noll # Copyright (C) 1999-2006,2014,2017-2018,2021,2023,2025 Landon Curt Noll
# #
# Suggestion: Read the ../HOWTO.INSTALL file. # Suggestion: Read the ../HOWTO.INSTALL file.
# #
@@ -728,7 +728,6 @@ c_argv.o: ../hash.h
c_argv.o: ../have_ban_pragma.h c_argv.o: ../have_ban_pragma.h
c_argv.o: ../have_const.h c_argv.o: ../have_const.h
c_argv.o: ../have_limits.h c_argv.o: ../have_limits.h
c_argv.o: ../have_memmv.h
c_argv.o: ../have_newstr.h c_argv.o: ../have_newstr.h
c_argv.o: ../have_stdbool.h c_argv.o: ../have_stdbool.h
c_argv.o: ../have_stdlib.h c_argv.o: ../have_stdlib.h
@@ -761,7 +760,6 @@ c_devnull.o: ../hash.h
c_devnull.o: ../have_ban_pragma.h c_devnull.o: ../have_ban_pragma.h
c_devnull.o: ../have_const.h c_devnull.o: ../have_const.h
c_devnull.o: ../have_limits.h c_devnull.o: ../have_limits.h
c_devnull.o: ../have_memmv.h
c_devnull.o: ../have_newstr.h c_devnull.o: ../have_newstr.h
c_devnull.o: ../have_stdbool.h c_devnull.o: ../have_stdbool.h
c_devnull.o: ../have_stdlib.h c_devnull.o: ../have_stdlib.h
@@ -795,7 +793,6 @@ c_help.o: ../hash.h
c_help.o: ../have_ban_pragma.h c_help.o: ../have_ban_pragma.h
c_help.o: ../have_const.h c_help.o: ../have_const.h
c_help.o: ../have_limits.h c_help.o: ../have_limits.h
c_help.o: ../have_memmv.h
c_help.o: ../have_newstr.h c_help.o: ../have_newstr.h
c_help.o: ../have_stdbool.h c_help.o: ../have_stdbool.h
c_help.o: ../have_stdlib.h c_help.o: ../have_stdlib.h
@@ -829,7 +826,6 @@ c_pmodm127.o: ../hash.h
c_pmodm127.o: ../have_ban_pragma.h c_pmodm127.o: ../have_ban_pragma.h
c_pmodm127.o: ../have_const.h c_pmodm127.o: ../have_const.h
c_pmodm127.o: ../have_limits.h c_pmodm127.o: ../have_limits.h
c_pmodm127.o: ../have_memmv.h
c_pmodm127.o: ../have_newstr.h c_pmodm127.o: ../have_newstr.h
c_pmodm127.o: ../have_stdbool.h c_pmodm127.o: ../have_stdbool.h
c_pmodm127.o: ../have_stdlib.h c_pmodm127.o: ../have_stdlib.h
@@ -862,7 +858,6 @@ c_pzasusb8.o: ../hash.h
c_pzasusb8.o: ../have_ban_pragma.h c_pzasusb8.o: ../have_ban_pragma.h
c_pzasusb8.o: ../have_const.h c_pzasusb8.o: ../have_const.h
c_pzasusb8.o: ../have_limits.h c_pzasusb8.o: ../have_limits.h
c_pzasusb8.o: ../have_memmv.h
c_pzasusb8.o: ../have_newstr.h c_pzasusb8.o: ../have_newstr.h
c_pzasusb8.o: ../have_stdbool.h c_pzasusb8.o: ../have_stdbool.h
c_pzasusb8.o: ../have_stdlib.h c_pzasusb8.o: ../have_stdlib.h
@@ -896,7 +891,6 @@ c_register.o: ../hash.h
c_register.o: ../have_ban_pragma.h c_register.o: ../have_ban_pragma.h
c_register.o: ../have_const.h c_register.o: ../have_const.h
c_register.o: ../have_limits.h c_register.o: ../have_limits.h
c_register.o: ../have_memmv.h
c_register.o: ../have_newstr.h c_register.o: ../have_newstr.h
c_register.o: ../have_stdbool.h c_register.o: ../have_stdbool.h
c_register.o: ../have_stdlib.h c_register.o: ../have_stdlib.h
@@ -932,7 +926,6 @@ c_sysinfo.o: ../hash.h
c_sysinfo.o: ../have_ban_pragma.h c_sysinfo.o: ../have_ban_pragma.h
c_sysinfo.o: ../have_const.h c_sysinfo.o: ../have_const.h
c_sysinfo.o: ../have_limits.h c_sysinfo.o: ../have_limits.h
c_sysinfo.o: ../have_memmv.h
c_sysinfo.o: ../have_newstr.h c_sysinfo.o: ../have_newstr.h
c_sysinfo.o: ../have_stdbool.h c_sysinfo.o: ../have_stdbool.h
c_sysinfo.o: ../have_stdlib.h c_sysinfo.o: ../have_stdlib.h
@@ -970,7 +963,6 @@ custtbl.o: ../hash.h
custtbl.o: ../have_ban_pragma.h custtbl.o: ../have_ban_pragma.h
custtbl.o: ../have_const.h custtbl.o: ../have_const.h
custtbl.o: ../have_limits.h custtbl.o: ../have_limits.h
custtbl.o: ../have_memmv.h
custtbl.o: ../have_newstr.h custtbl.o: ../have_newstr.h
custtbl.o: ../have_stdbool.h custtbl.o: ../have_stdbool.h
custtbl.o: ../have_stdlib.h custtbl.o: ../have_stdlib.h

View File

@@ -1,7 +1,7 @@
/* /*
* fposval - Determine information about the file position type * fposval - Determine information about the file position type
* *
* Copyright (C) 1999,2021,2023 Landon Curt Noll * Copyright (C) 1999,2021,2023,2025 Landon Curt Noll
* *
* Calc is open software; you can redistribute it and/or modify it under * Calc is open software; you can redistribute it and/or modify it under
* the terms of the version 2.1 of the GNU Lesser General Public License * the terms of the version 2.1 of the GNU Lesser General Public License
@@ -71,7 +71,6 @@
#include "have_fpos_pos.h" #include "have_fpos_pos.h"
#include "alloc.h" #include "alloc.h"
#include "have_unused.h" #include "have_unused.h"
#include "have_memmv.h"
#include "zmath.h" #include "zmath.h"

View File

@@ -1,73 +0,0 @@
/*
* have_memmv - Determine if we have memmove()
*
* Copyright (C) 1999,2021 Landon Curt Noll
*
* Calc is open software; you can redistribute it and/or modify it under
* the terms of the version 2.1 of the GNU Lesser General Public License
* as published by the Free Software Foundation.
*
* Calc is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
* Public License for more details.
*
* A copy of version 2.1 of the GNU Lesser General Public License is
* distributed with calc under the filename COPYING-LGPL. You should have
* received a copy with calc; if not, write to Free Software Foundation, Inc.
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* Under source code control: 1997/04/16 02:02:34
* File existed as early as: 1997
*
* chongo <was here> /\oo/\ http://www.isthe.com/chongo/
* Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
*/
/*
* usage:
* have_memmv
*
* Not all systems with memcpy() have memmove() functions, so this may not
* compile on your system.
*
* This prog outputs several defines:
*
* HAVE_MEMMOVE
* defined ==> use memmove()
* undefined ==> use internal slow memmove() instead
*/
#include <stdio.h>
#include "have_string.h"
#ifdef HAVE_STRING_H
# include <string.h>
#endif
#include "banned.h" /* include after system header <> includes */
#define MOVELEN 3
char src[] = "chongo was here";
char dest[MOVELEN+1];
int
main(void)
{
#if defined(HAVE_NO_MEMMOVE)
printf("#undef HAVE_MEMMOVE /* no */\n");
#else /* HAVE_NO_MEMMOVE */
(void) memmove(dest, src, MOVELEN);
printf("#define HAVE_MEMMOVE /* yes */\n");
#endif /* HAVE_NO_MEMMOVE */
/* exit(0); */
return 0;
}

View File

@@ -1,5 +1,5 @@
NAME NAME
log2 - base 10 logarithm log2 - base 2 logarithm
SYNOPSIS SYNOPSIS
log2(x [,eps]) log2(x [,eps])

View File

@@ -1,7 +1,7 @@
/* /*
* version - determine the version of calc * version - determine the version of calc
* *
* Copyright (C) 2023 David I. Bell and Landon Curt Noll * Copyright (C) 1989-2025 David I. Bell and Landon Curt Noll
* *
* Calc is open software; you can redistribute it and/or modify it under * Calc is open software; you can redistribute it and/or modify it under
* the terms of the version 2.1 of the GNU Lesser General Public License * the terms of the version 2.1 of the GNU Lesser General Public License
@@ -64,7 +64,7 @@
#define MAJOR_VER 2 /* level 1: major library version */ #define MAJOR_VER 2 /* level 1: major library version */
#define MINOR_VER 15 /* level 2: minor library version */ #define MINOR_VER 15 /* level 2: minor library version */
#define MAJOR_PATCH 1 /* level 3: major software version level */ #define MAJOR_PATCH 1 /* level 3: major software version level */
#define MINOR_PATCH 0 /* level 4: minor software version level */ #define MINOR_PATCH 2 /* level 4: minor software version level */
#endif /* !INCLUDE_VERSION_H*/ #endif /* !INCLUDE_VERSION_H*/