summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac12
-rw-r--r--sshkey.h4
2 files changed, 16 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 35e2e8d1d..0ba2ff442 100644
--- a/configure.ac
+++ b/configure.ac
@@ -265,6 +265,18 @@ __attribute__((__unused__)) static void foo(void){return;}]],
265 [compiler does not accept __attribute__ on return types]) ] 265 [compiler does not accept __attribute__ on return types]) ]
266) 266)
267 267
268AC_MSG_CHECKING([if compiler allows __attribute__ prototype args])
269AC_COMPILE_IFELSE(
270 [AC_LANG_PROGRAM([[
271#include <stdlib.h>
272typedef void foo(const char *, ...) __attribute__((format(printf, 1, 2)));]],
273 [[ exit(0); ]])],
274 [ AC_MSG_RESULT([yes]) ],
275 [ AC_MSG_RESULT([no])
276 AC_DEFINE(NO_ATTRIBUTE_ON_PROTOTYPE_ARGS, 1,
277 [compiler does not accept __attribute__ on protoype args]) ]
278)
279
268if test "x$no_attrib_nonnull" != "x1" ; then 280if test "x$no_attrib_nonnull" != "x1" ; then
269 AC_DEFINE([HAVE_ATTRIBUTE__NONNULL__], [1], [Have attribute nonnull]) 281 AC_DEFINE([HAVE_ATTRIBUTE__NONNULL__], [1], [Have attribute nonnull])
270fi 282fi
diff --git a/sshkey.h b/sshkey.h
index c795815fa..155cd45ae 100644
--- a/sshkey.h
+++ b/sshkey.h
@@ -220,7 +220,11 @@ int sshkey_parse_private_fileblob_type(struct sshbuf *blob, int type,
220int ssh_rsa_generate_additional_parameters(struct sshkey *); 220int ssh_rsa_generate_additional_parameters(struct sshkey *);
221 221
222/* stateful keys (e.g. XMSS) */ 222/* stateful keys (e.g. XMSS) */
223#ifdef NO_ATTRIBUTE_ON_PROTOTYPE_ARGS
224typedef void sshkey_printfn(const char *, ...);
225#else
223typedef void sshkey_printfn(const char *, ...) __attribute__((format(printf, 1, 2))); 226typedef void sshkey_printfn(const char *, ...) __attribute__((format(printf, 1, 2)));
227#endif
224int sshkey_set_filename(struct sshkey *, const char *); 228int sshkey_set_filename(struct sshkey *, const char *);
225int sshkey_enable_maxsign(struct sshkey *, u_int32_t); 229int sshkey_enable_maxsign(struct sshkey *, u_int32_t);
226u_int32_t sshkey_signatures_left(const struct sshkey *); 230u_int32_t sshkey_signatures_left(const struct sshkey *);