@@ -2835,9 +2835,11 @@ CMD(ver)
28352835 {
28362836 const char *lib_name;
28372837 const char *symbol;
2838- enum type_t { STRING_OR_PTR, STRING_PTR, FUNC0, INT8_8 } type;
2838+ enum type_t { STRING_OR_PTR, STRING_PTR, FUNC0, INT8_8, FUNC1 } type;
28392839 const char *skip_prefix;
28402840 typedef const char *(*func0)(void *);
2841+ typedef const char *(*func1)(int );
2842+ const int param;
28412843 const char *query () const
28422844 {
28432845 int v;
@@ -2858,6 +2860,9 @@ CMD(ver)
28582860 case FUNC0:
28592861 str=((func0)sym_ptr)(NULL );
28602862 break ;
2863+ case FUNC1: /* openssl v3 */
2864+ str=((func1)sym_ptr)(param);
2865+ break ;
28612866 case INT8_8:
28622867 v=*(int *)sym_ptr;
28632868 str=xstring::format (" %d.%d" ,(v>>8 )&255 ,v&255 );
@@ -2871,13 +2876,14 @@ CMD(ver)
28712876 }
28722877 static const libs[]=
28732878 {
2874- {" Expat" , " XML_ExpatVersion" , VersionInfo::FUNC0, " expat_" },
2875- {" GnuTLS" , " gnutls_check_version" , VersionInfo::FUNC0, 0 },
2876- {" idn2" , " idn2_check_version" , VersionInfo::FUNC0, 0 },
2877- {" libiconv" , " _libiconv_version" , VersionInfo::INT8_8, 0 },
2878- {" OpenSSL" , " SSL_version_str" , VersionInfo::STRING_OR_PTR," OpenSSL " },
2879- {" Readline" , " rl_library_version" , VersionInfo::STRING_PTR,0 },
2880- {" zlib" , " zlibVersion" , VersionInfo::FUNC0, 0 },
2879+ {" Expat" , " XML_ExpatVersion" , VersionInfo::FUNC0, " expat_" , 0 },
2880+ {" GnuTLS" , " gnutls_check_version" , VersionInfo::FUNC0, 0 , 0 },
2881+ {" idn2" , " idn2_check_version" , VersionInfo::FUNC0, 0 , 0 },
2882+ {" libiconv" , " _libiconv_version" , VersionInfo::INT8_8, 0 , 0 },
2883+ {" OpenSSL" , " SSL_version_str" , VersionInfo::STRING_OR_PTR," OpenSSL " , 0 },
2884+ {" OpenSSL" , " OpenSSL_version" , VersionInfo::FUNC1, 0 , 6 },
2885+ {" Readline" , " rl_library_version" , VersionInfo::STRING_PTR,0 , 0 },
2886+ {" zlib" , " zlibVersion" , VersionInfo::FUNC0, 0 , 0 },
28812887 {0 }
28822888 };
28832889
0 commit comments