diff --git a/.gitignore b/.gitignore index e6ee548..69ae9dd 100644 --- a/.gitignore +++ b/.gitignore @@ -90,8 +90,6 @@ have_gettime have_gettime.h have_inttypes.h have_limits.h -have_memmv -have_memmv.h have_newstr have_newstr.h have_offscl @@ -162,7 +160,6 @@ ll_tmp longbits longbits.h Makefile.our -memmv_tmp newstr_tmp NOTES offscl_tmp diff --git a/CHANGES b/CHANGES index f28c7e3..a794ca0 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,16 @@ -The following are the changes from calc version 2.15.1.1 to date: +The following are the changes from calc version 2.15.1.2 to date: + + 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 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}. diff --git a/Makefile b/Makefile index 4dbce59..1f0bbb4 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ # # 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. # @@ -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 \ 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_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_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 \ @@ -191,7 +191,7 @@ BUILD_C_SRC= 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_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_strlcpy.c have_uid_t.c have_unused.c have_ustat.c have_varvs.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 \ 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_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 \ @@ -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 # 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 # 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 \ 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} ${Q} ${RM} -f fposval_tmp $@ ${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}; \ 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} ${Q} ${RM} -f ustat_tmp $@ ${H} echo 'forming $@' @@ -2207,7 +2167,7 @@ errsym.h: errcode${EXT} fi 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 $@ ${LCC} ${ICFLAGS} ${ILDFLAGS} -DERRCODE_SRC errtbl.c -o $@ @@ -2650,7 +2610,7 @@ version: @echo ${VERSION} 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 ${RM} -f $@ ${LCC} ${ICFLAGS} -DCALC_VER ${ILDFLAGS} version.c strl.c -o $@ @@ -2922,7 +2882,6 @@ env: @echo 'HAVE_GETTIME=${HAVE_GETTIME}'; echo '' @echo 'HAVE_INTTYPES_H=${HAVE_INTTYPES_H}'; echo '' @echo 'HAVE_LIMITS_H=${HAVE_LIMITS_H}'; echo '' - @echo 'HAVE_MEMMOVE=${HAVE_MEMMOVE}'; echo '' @echo 'HAVE_NEWSTR=${HAVE_NEWSTR}'; echo '' @echo 'HAVE_OFFSCL=${HAVE_OFFSCL}'; echo '' @echo 'HAVE_POSSCL=${HAVE_POSSCL}'; echo '' @@ -4082,7 +4041,6 @@ addop.o: hash.h addop.o: have_ban_pragma.h addop.o: have_const.h addop.o: have_limits.h -addop.o: have_memmv.h addop.o: have_newstr.h addop.o: have_stdbool.h addop.o: have_stdlib.h @@ -4124,7 +4082,6 @@ assocfunc.o: hash.h assocfunc.o: have_ban_pragma.h assocfunc.o: have_const.h assocfunc.o: have_limits.h -assocfunc.o: have_memmv.h assocfunc.o: have_newstr.h assocfunc.o: have_stdbool.h assocfunc.o: have_stdlib.h @@ -4159,7 +4116,6 @@ blkcpy.o: have_ban_pragma.h blkcpy.o: have_const.h blkcpy.o: have_fgetsetpos.h blkcpy.o: have_limits.h -blkcpy.o: have_memmv.h blkcpy.o: have_newstr.h blkcpy.o: have_stdbool.h blkcpy.o: have_stdlib.h @@ -4190,7 +4146,6 @@ block.o: hash.h block.o: have_ban_pragma.h block.o: have_const.h block.o: have_limits.h -block.o: have_memmv.h block.o: have_newstr.h block.o: have_stdbool.h block.o: have_stdlib.h @@ -4218,7 +4173,6 @@ byteswap.o: errtbl.h byteswap.o: have_ban_pragma.h byteswap.o: have_const.h byteswap.o: have_limits.h -byteswap.o: have_memmv.h byteswap.o: have_newstr.h byteswap.o: have_stdbool.h byteswap.o: have_stdlib.h @@ -4250,7 +4204,6 @@ calc.o: hash.h calc.o: have_ban_pragma.h calc.o: have_const.h calc.o: have_limits.h -calc.o: have_memmv.h calc.o: have_newstr.h calc.o: have_stdbool.h calc.o: have_stdlib.h @@ -4309,7 +4262,6 @@ codegen.o: hash.h codegen.o: have_ban_pragma.h codegen.o: have_const.h codegen.o: have_limits.h -codegen.o: have_memmv.h codegen.o: have_newstr.h codegen.o: have_stdbool.h codegen.o: have_stdlib.h @@ -4347,7 +4299,6 @@ comfunc.o: errtbl.h comfunc.o: have_ban_pragma.h comfunc.o: have_const.h comfunc.o: have_limits.h -comfunc.o: have_memmv.h comfunc.o: have_newstr.h comfunc.o: have_stdbool.h comfunc.o: have_stdlib.h @@ -4372,7 +4323,6 @@ commath.o: errtbl.h commath.o: have_ban_pragma.h commath.o: have_const.h commath.o: have_limits.h -commath.o: have_memmv.h commath.o: have_newstr.h commath.o: have_stdbool.h commath.o: have_stdlib.h @@ -4401,7 +4351,6 @@ config.o: hash.h config.o: have_ban_pragma.h config.o: have_const.h config.o: have_limits.h -config.o: have_memmv.h config.o: have_newstr.h config.o: have_stdbool.h config.o: have_stdlib.h @@ -4440,7 +4389,6 @@ const.o: hash.h const.o: have_ban_pragma.h const.o: have_const.h const.o: have_limits.h -const.o: have_memmv.h const.o: have_newstr.h const.o: have_stdbool.h const.o: have_stdlib.h @@ -4473,7 +4421,6 @@ custom.o: hash.h custom.o: have_ban_pragma.h custom.o: have_const.h custom.o: have_limits.h -custom.o: have_memmv.h custom.o: have_newstr.h custom.o: have_stdbool.h custom.o: have_stdlib.h @@ -4509,7 +4456,6 @@ errtbl.o: func.h errtbl.o: hash.h errtbl.o: have_const.h errtbl.o: have_limits.h -errtbl.o: have_memmv.h errtbl.o: have_newstr.h errtbl.o: have_stdbool.h errtbl.o: have_stdlib.h @@ -4546,7 +4492,6 @@ file.o: have_const.h file.o: have_fgetsetpos.h file.o: have_fpos_pos.h file.o: have_limits.h -file.o: have_memmv.h file.o: have_newstr.h file.o: have_stdbool.h file.o: have_stdlib.h @@ -4576,7 +4521,6 @@ fposval.o: have_const.h fposval.o: have_fgetsetpos.h fposval.o: have_fpos_pos.h fposval.o: have_limits.h -fposval.o: have_memmv.h fposval.o: have_newstr.h fposval.o: have_offscl.h fposval.o: have_posscl.h @@ -4610,7 +4554,6 @@ func.o: have_ban_pragma.h func.o: have_const.h func.o: have_fgetsetpos.h func.o: have_limits.h -func.o: have_memmv.h func.o: have_newstr.h func.o: have_rusage.h func.o: have_stdbool.h @@ -4657,7 +4600,6 @@ hash.o: hash.h hash.o: have_ban_pragma.h hash.o: have_const.h hash.o: have_limits.h -hash.o: have_memmv.h hash.o: have_newstr.h hash.o: have_stdbool.h hash.o: have_stdlib.h @@ -4709,10 +4651,6 @@ have_getsid.o: have_unistd.h have_gettime.o: banned.h have_gettime.o: have_ban_pragma.h 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: have_ban_pragma.h have_newstr.o: have_newstr.c @@ -4787,7 +4725,6 @@ help.o: hash.h help.o: have_ban_pragma.h help.o: have_const.h help.o: have_limits.h -help.o: have_memmv.h help.o: have_newstr.h help.o: have_stdbool.h help.o: have_stdlib.h @@ -4821,7 +4758,6 @@ hist.o: hash.h hist.o: have_ban_pragma.h hist.o: have_const.h hist.o: have_limits.h -hist.o: have_memmv.h hist.o: have_newstr.h hist.o: have_stdbool.h hist.o: have_stdlib.h @@ -4862,7 +4798,6 @@ input.o: hash.h input.o: have_ban_pragma.h input.o: have_const.h input.o: have_limits.h -input.o: have_memmv.h input.o: have_newstr.h input.o: have_stdbool.h input.o: have_stdlib.h @@ -4906,7 +4841,6 @@ label.o: hash.h label.o: have_ban_pragma.h label.o: have_const.h label.o: have_limits.h -label.o: have_memmv.h label.o: have_newstr.h label.o: have_stdbool.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_const.h lib_calc.o: have_limits.h -lib_calc.o: have_memmv.h lib_calc.o: have_newstr.h lib_calc.o: have_stdbool.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_const.h lib_util.o: have_limits.h -lib_util.o: have_memmv.h lib_util.o: have_newstr.h lib_util.o: have_stdbool.h lib_util.o: have_stdlib.h @@ -5009,7 +4941,6 @@ listfunc.o: hash.h listfunc.o: have_ban_pragma.h listfunc.o: have_const.h listfunc.o: have_limits.h -listfunc.o: have_memmv.h listfunc.o: have_newstr.h listfunc.o: have_stdbool.h listfunc.o: have_stdlib.h @@ -5048,7 +4979,6 @@ matfunc.o: hash.h matfunc.o: have_ban_pragma.h matfunc.o: have_const.h matfunc.o: have_limits.h -matfunc.o: have_memmv.h matfunc.o: have_newstr.h matfunc.o: have_stdbool.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_const.h math_error.o: have_limits.h -math_error.o: have_memmv.h math_error.o: have_newstr.h math_error.o: have_stdbool.h math_error.o: have_stdlib.h @@ -5117,7 +5046,6 @@ obj.o: hash.h obj.o: have_ban_pragma.h obj.o: have_const.h obj.o: have_limits.h -obj.o: have_memmv.h obj.o: have_newstr.h obj.o: have_stdbool.h obj.o: have_stdlib.h @@ -5159,7 +5087,6 @@ opcodes.o: have_ban_pragma.h opcodes.o: have_const.h opcodes.o: have_fgetsetpos.h opcodes.o: have_limits.h -opcodes.o: have_memmv.h opcodes.o: have_newstr.h opcodes.o: have_stdbool.h opcodes.o: have_stdlib.h @@ -5191,7 +5118,6 @@ pix.o: endian_calc.h pix.o: have_ban_pragma.h pix.o: have_const.h pix.o: have_limits.h -pix.o: have_memmv.h pix.o: have_newstr.h pix.o: have_stdbool.h pix.o: have_stdlib.h @@ -5219,7 +5145,6 @@ poly.o: hash.h poly.o: have_ban_pragma.h poly.o: have_const.h poly.o: have_limits.h -poly.o: have_memmv.h poly.o: have_newstr.h poly.o: have_stdbool.h poly.o: have_stdlib.h @@ -5243,7 +5168,6 @@ prime.o: endian_calc.h prime.o: have_ban_pragma.h prime.o: have_const.h prime.o: have_limits.h -prime.o: have_memmv.h prime.o: have_newstr.h prime.o: have_stdbool.h prime.o: have_stdlib.h @@ -5269,7 +5193,6 @@ qfunc.o: errtbl.h qfunc.o: have_ban_pragma.h qfunc.o: have_const.h qfunc.o: have_limits.h -qfunc.o: have_memmv.h qfunc.o: have_newstr.h qfunc.o: have_stdbool.h qfunc.o: have_stdlib.h @@ -5296,7 +5219,6 @@ qio.o: errtbl.h qio.o: have_ban_pragma.h qio.o: have_const.h qio.o: have_limits.h -qio.o: have_memmv.h qio.o: have_newstr.h qio.o: have_stdbool.h qio.o: have_stdlib.h @@ -5322,7 +5244,6 @@ qmath.o: errtbl.h qmath.o: have_ban_pragma.h qmath.o: have_const.h qmath.o: have_limits.h -qmath.o: have_memmv.h qmath.o: have_newstr.h qmath.o: have_stdbool.h qmath.o: have_stdlib.h @@ -5347,7 +5268,6 @@ qmod.o: errtbl.h qmod.o: have_ban_pragma.h qmod.o: have_const.h qmod.o: have_limits.h -qmod.o: have_memmv.h qmod.o: have_newstr.h qmod.o: have_stdbool.h qmod.o: have_stdlib.h @@ -5372,7 +5292,6 @@ qtrans.o: errtbl.h qtrans.o: have_ban_pragma.h qtrans.o: have_const.h qtrans.o: have_limits.h -qtrans.o: have_memmv.h qtrans.o: have_newstr.h qtrans.o: have_stdbool.h qtrans.o: have_stdlib.h @@ -5400,7 +5319,6 @@ quickhash.o: hash.h quickhash.o: have_ban_pragma.h quickhash.o: have_const.h quickhash.o: have_limits.h -quickhash.o: have_memmv.h quickhash.o: have_newstr.h quickhash.o: have_stdbool.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_const.h sample_many.o: have_limits.h -sample_many.o: have_memmv.h sample_many.o: have_newstr.h sample_many.o: have_stdbool.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_const.h sample_rand.o: have_limits.h -sample_rand.o: have_memmv.h sample_rand.o: have_newstr.h sample_rand.o: have_stdbool.h sample_rand.o: have_stdlib.h @@ -5500,7 +5416,6 @@ seed.o: have_getprid.h seed.o: have_getsid.h seed.o: have_gettime.h seed.o: have_limits.h -seed.o: have_memmv.h seed.o: have_newstr.h seed.o: have_rusage.h seed.o: have_statfs.h @@ -5538,7 +5453,6 @@ sha1.o: hash.h sha1.o: have_ban_pragma.h sha1.o: have_const.h sha1.o: have_limits.h -sha1.o: have_memmv.h sha1.o: have_newstr.h sha1.o: have_stdbool.h sha1.o: have_stdlib.h @@ -5569,7 +5483,6 @@ size.o: hash.h size.o: have_ban_pragma.h size.o: have_const.h size.o: have_limits.h -size.o: have_memmv.h size.o: have_newstr.h size.o: have_stdbool.h size.o: have_stdlib.h @@ -5603,7 +5516,6 @@ str.o: hash.h str.o: have_ban_pragma.h str.o: have_const.h str.o: have_limits.h -str.o: have_memmv.h str.o: have_newstr.h str.o: have_stdbool.h str.o: have_stdlib.h @@ -5625,7 +5537,6 @@ strl.o: banned.h strl.o: decl.h strl.o: have_ban_pragma.h strl.o: have_const.h -strl.o: have_memmv.h strl.o: have_newstr.h strl.o: have_string.h strl.o: have_strlcat.h @@ -5651,7 +5562,6 @@ symbol.o: hash.h symbol.o: have_ban_pragma.h symbol.o: have_const.h symbol.o: have_limits.h -symbol.o: have_memmv.h symbol.o: have_newstr.h symbol.o: have_stdbool.h symbol.o: have_stdlib.h @@ -5688,7 +5598,6 @@ token.o: hash.h token.o: have_ban_pragma.h token.o: have_const.h token.o: have_limits.h -token.o: have_memmv.h token.o: have_newstr.h token.o: have_stdbool.h token.o: have_stdlib.h @@ -5725,7 +5634,6 @@ value.o: have_ban_pragma.h value.o: have_const.h value.o: have_fgetsetpos.h value.o: have_limits.h -value.o: have_memmv.h value.o: have_newstr.h value.o: have_stdbool.h value.o: have_stdlib.h @@ -5762,7 +5670,6 @@ version.o: hash.h version.o: have_ban_pragma.h version.o: have_const.h version.o: have_limits.h -version.o: have_memmv.h version.o: have_newstr.h version.o: have_stdbool.h version.o: have_stdlib.h @@ -5793,7 +5700,6 @@ zfunc.o: errtbl.h zfunc.o: have_ban_pragma.h zfunc.o: have_const.h zfunc.o: have_limits.h -zfunc.o: have_memmv.h zfunc.o: have_newstr.h zfunc.o: have_stdbool.h zfunc.o: have_stdlib.h @@ -5817,7 +5723,6 @@ zio.o: errtbl.h zio.o: have_ban_pragma.h zio.o: have_const.h zio.o: have_limits.h -zio.o: have_memmv.h zio.o: have_newstr.h zio.o: have_stdbool.h zio.o: have_stdlib.h @@ -5842,7 +5747,6 @@ zmath.o: have_ban_pragma.h zmath.o: have_const.h zmath.o: have_inttypes.h zmath.o: have_limits.h -zmath.o: have_memmv.h zmath.o: have_newstr.h zmath.o: have_stdbool.h zmath.o: have_stdint.h @@ -5868,7 +5772,6 @@ zmod.o: errtbl.h zmod.o: have_ban_pragma.h zmod.o: have_const.h zmod.o: have_limits.h -zmod.o: have_memmv.h zmod.o: have_newstr.h zmod.o: have_stdbool.h zmod.o: have_stdlib.h @@ -5893,7 +5796,6 @@ zmul.o: errtbl.h zmul.o: have_ban_pragma.h zmul.o: have_const.h zmul.o: have_limits.h -zmul.o: have_memmv.h zmul.o: have_newstr.h zmul.o: have_stdbool.h zmul.o: have_stdlib.h @@ -5921,7 +5823,6 @@ zprime.o: hash.h zprime.o: have_ban_pragma.h zprime.o: have_const.h zprime.o: have_limits.h -zprime.o: have_memmv.h zprime.o: have_newstr.h zprime.o: have_stdbool.h zprime.o: have_stdlib.h @@ -5955,7 +5856,6 @@ zrand.o: hash.h zrand.o: have_ban_pragma.h zrand.o: have_const.h zrand.o: have_limits.h -zrand.o: have_memmv.h zrand.o: have_newstr.h zrand.o: have_stdbool.h zrand.o: have_stdlib.h @@ -5988,7 +5888,6 @@ zrandom.o: hash.h zrandom.o: have_ban_pragma.h zrandom.o: have_const.h zrandom.o: have_limits.h -zrandom.o: have_memmv.h zrandom.o: have_newstr.h zrandom.o: have_stdbool.h zrandom.o: have_stdlib.h diff --git a/Makefile.config b/Makefile.config index 534a525..9f3ee8b 100644 --- a/Makefile.config +++ b/Makefile.config @@ -2,7 +2,7 @@ # # 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. # @@ -436,18 +436,6 @@ HAVE_ARC4RANDOM= HAVE_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() # # If HAVE_USTAT is empty, this Makefile will run the have_ustat program diff --git a/alloc.h b/alloc.h index 4407665..fbb6234 100644 --- a/alloc.h +++ b/alloc.h @@ -1,7 +1,7 @@ /* * 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 * the terms of the version 2.1 of the GNU Lesser General Public License @@ -32,13 +32,11 @@ # include "decl.h" # include "have_newstr.h" # include "have_string.h" -# include "have_memmv.h" # include "have_const.h" #else # include # include # include -# include # include #endif @@ -79,15 +77,4 @@ E_FUNC int strcmp(); #define strchr(s, c) index(s, c) #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 */ diff --git a/blkcpy.c b/blkcpy.c index 6b32deb..51b4dbd 100644 --- a/blkcpy.c +++ b/blkcpy.c @@ -1,7 +1,7 @@ /* * 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 * @@ -924,62 +924,6 @@ copyostr2blk(char *str,long ssi,long num,BLOCK *dblk,long dsi,bool noreloc) dblk->datalen = newlen; 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 /* diff --git a/custom/Makefile b/custom/Makefile index 82b104e..5a0e00d 100644 --- a/custom/Makefile +++ b/custom/Makefile @@ -2,7 +2,7 @@ # # 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. # @@ -728,7 +728,6 @@ c_argv.o: ../hash.h c_argv.o: ../have_ban_pragma.h c_argv.o: ../have_const.h c_argv.o: ../have_limits.h -c_argv.o: ../have_memmv.h c_argv.o: ../have_newstr.h c_argv.o: ../have_stdbool.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_const.h c_devnull.o: ../have_limits.h -c_devnull.o: ../have_memmv.h c_devnull.o: ../have_newstr.h c_devnull.o: ../have_stdbool.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_const.h c_help.o: ../have_limits.h -c_help.o: ../have_memmv.h c_help.o: ../have_newstr.h c_help.o: ../have_stdbool.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_const.h c_pmodm127.o: ../have_limits.h -c_pmodm127.o: ../have_memmv.h c_pmodm127.o: ../have_newstr.h c_pmodm127.o: ../have_stdbool.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_const.h c_pzasusb8.o: ../have_limits.h -c_pzasusb8.o: ../have_memmv.h c_pzasusb8.o: ../have_newstr.h c_pzasusb8.o: ../have_stdbool.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_const.h c_register.o: ../have_limits.h -c_register.o: ../have_memmv.h c_register.o: ../have_newstr.h c_register.o: ../have_stdbool.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_const.h c_sysinfo.o: ../have_limits.h -c_sysinfo.o: ../have_memmv.h c_sysinfo.o: ../have_newstr.h c_sysinfo.o: ../have_stdbool.h c_sysinfo.o: ../have_stdlib.h @@ -970,7 +963,6 @@ custtbl.o: ../hash.h custtbl.o: ../have_ban_pragma.h custtbl.o: ../have_const.h custtbl.o: ../have_limits.h -custtbl.o: ../have_memmv.h custtbl.o: ../have_newstr.h custtbl.o: ../have_stdbool.h custtbl.o: ../have_stdlib.h diff --git a/fposval.c b/fposval.c index 8875520..a673c92 100644 --- a/fposval.c +++ b/fposval.c @@ -1,7 +1,7 @@ /* * 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 * the terms of the version 2.1 of the GNU Lesser General Public License @@ -71,7 +71,6 @@ #include "have_fpos_pos.h" #include "alloc.h" #include "have_unused.h" -#include "have_memmv.h" #include "zmath.h" diff --git a/have_memmv.c b/have_memmv.c deleted file mode 100644 index ae03673..0000000 --- a/have_memmv.c +++ /dev/null @@ -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 /\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 -#include "have_string.h" -#ifdef HAVE_STRING_H -# include -#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; -} diff --git a/version.h b/version.h index 16f946e..4edc992 100644 --- a/version.h +++ b/version.h @@ -64,7 +64,7 @@ #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 1 /* level 4: minor software version level */ +#define MINOR_PATCH 2 /* level 4: minor software version level */ #endif /* !INCLUDE_VERSION_H*/