gnutls-available-p can return duplicate capabilities; on my system, for example, 'ClientHello Padding' appears twice. Ok to commit? * src/gnutls.c (Fgnutls_available_p): Avoid duplicating capabilities. --- src/gnutls.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/gnutls.c b/src/gnutls.c index a0de0238c4..2840c2abe9 100644 --- a/src/gnutls.c +++ b/src/gnutls.c @@ -2801,22 +2801,24 @@ DEFUN ("gnutls-available-p", Fgnutls_available_p, Sgnutls_available_p, 0, 0, 0, capabilities = Fcons (intern("macs"), capabilities); +# ifdef HAVE_GNUTLS_EXT__DUMBFW + capabilities = Fcons (intern("ClientHello Padding"), capabilities); +# endif + # ifdef HAVE_GNUTLS_EXT_GET_NAME for (unsigned int ext=0; ext < 100; ext++) { const char* name = gnutls_ext_get_name(ext); if (name != NULL) { - capabilities = Fcons (intern(name), capabilities); + Lisp_Object cap = intern (name); + if (NILP (Fmemq (cap, capabilities))) + capabilities = Fcons (cap, capabilities); } } # endif # endif /* HAVE_GNUTLS3 */ -# ifdef HAVE_GNUTLS_EXT__DUMBFW - capabilities = Fcons (intern("ClientHello Padding"), capabilities); -# endif - # ifdef WINDOWSNT Vlibrary_cache = Fcons (Fcons (Qgnutls, capabilities), Vlibrary_cache); # endif /* WINDOWSNT */ -- 2.38.1.windows.1