git: 5925cd3e9c3c - main - security/cracklib: fix build with clang 15

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Mon, 12 Dec 2022 15:32:25 UTC
The branch main has been updated by dim (src committer):

URL: https://cgit.FreeBSD.org/ports/commit/?id=5925cd3e9c3cea926aee6c78aaa1f708665dfa8d

commit 5925cd3e9c3cea926aee6c78aaa1f708665dfa8d
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2022-12-12 15:09:19 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2022-12-12 15:31:26 +0000

    security/cracklib: fix build with clang 15
    
    During an exp-run for llvm 15 (see bug 265425), it turned out that
    security/cracklib failed to build with clang 15:
    
      rules.c:346:50: warning: too few arguments in call to 'Debug'
              Debug(1, "MatchClass: unknown class %c\n", class);
              ~~~~~                                           ^
      rules.c:346:45: error: incompatible integer to pointer conversion passing 'char' to parameter of type 'char *'; take the address with & [-Wint-conversion]
              Debug(1, "MatchClass: unknown class %c\n", class);
                                                         ^~~~~
                                                         &
    
    This is because cracklib is very old K&R source, and the Debug()
    function is not defined with varargs, but an arbitrary amount of char
    pointer arguments.
    
    Since the Debug() function does nothing anyway, define it as a varargs
    macro instead. This also gets rid of most of the other compilation
    warnings.
    
    PR:             268334
    Approved by:    cy (maintainer)
    MFH:            2022Q4
---
 security/cracklib/files/patch-lib_rules.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/security/cracklib/files/patch-lib_rules.c b/security/cracklib/files/patch-lib_rules.c
new file mode 100644
index 000000000000..db39252161ad
--- /dev/null
+++ b/security/cracklib/files/patch-lib_rules.c
@@ -0,0 +1,11 @@
+--- lib/rules.c.orig	2019-02-14 01:54:41 UTC
++++ lib/rules.c
+@@ -26,6 +26,8 @@ Debug(val, a, b, c, d, e, f, g)
+ {
+     fprintf(stderr, a, b, c, d, e, f, g);
+ }
++#elif 1
++#define Debug(n, f, ...) do {} while (0)
+ #else
+ static void
+ Debug(val, a, b, c, d, e, f, g)