From Newsgroup: comp.mail.sendmail
Claus A|fmann <INVALID_NO_CC_REMOVE_IF_YOU_DO_NOT_POST_ml+sendmail(-no-copies-please)@esmtp.org> wrote:
sendmail snapshot 8.19.0.0 is available for testing. The sendmail
code base has been converted to ANSI C. Please test this on different operating systems with different compilers and report any errors
(and unusual warnings).
On Fedora Linux 43 with:
libdb-5.3.28-66.fc43.x86_64
gcc-15.2.1-5.fc43.x86_64
compilation fails like this using NEWDB:
---------------------------------------------------------------
smdb2.c: In function rCysmdb_db_open_internalrCO:
smdb2.c:464:33: error: passing argument 2 of rCy(*db)->set_errcallrCO from incompatible pointer type [-Wincompatible-pointer-types]
464 | (*db)->set_errcall(*db, db_err_cb);
| ^~~~~~~~~
| |
| void (*)(const char *, char *) smdb2.c:464:33: note: expected rCyvoid (*)(const DB_ENV *, const char *, const char *)rCO {aka rCyvoid (*)(const struct __db_env *, const char *, const char *)rCO} but argument is of type rCyvoid (*)(const char *, char *)rCO
smdb2.c:442:1: note: rCydb_err_cbrCO declared here
442 | db_err_cb(
| ^~~~~~~~~ ---------------------------------------------------------------
The error is caused by the following:
---------------------------------------------------------------
static void
db_err_cb(
# if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3
const DB_ENV *dbenv, const char *errpfx, const char *msg
# else
const char *errpfx, char *msg
# endif
)
{
/* do not print/log any errors... */
return;
}
---------------------------------------------------------------
I retried after a small change:
# if DB_VERSION_MAJOR >= 4 && DB_VERSION_MINOR >= 3
and the compilation succeeded.
br,
KK
--- Synchronet 3.21d-Linux NewsLink 1.2