diff --git a/ChangeLog b/ChangeLog index e8adc45ad79fe984488e5f25f5d4b77738d33a2d..8dd78c91d227fd950eabd3bc0efccf3922f155f3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ 2017-04-09 Niels Möller <nisse@lysator.liu.se> - * nettle-meta.h (nettle_ciphers, nettle_aeads): New macros, - analogous to below change to nettle_hashes. + * nettle-meta.h (nettle_ciphers, nettle_aeads, nettle_armors): New + macros, analogous to below change to nettle_hashes. * nettle-meta-ciphers.c (_nettle_ciphers): Renamed array, from... (nettle_ciphers: ... old name. @@ -11,6 +11,10 @@ (nettle_aeads: ... old name. (nettle_get_aeads): New function. + * nettle-meta-armors.c (_nettle_armors): Renamed array, from... + (nettle_armors: ... old name. + (nettle_get_armors): New function. + 2017-01-12 Niels Möller <nisse@lysator.liu.se> * tools/nettle-hash.c (find_algorithm): Deleted function. diff --git a/nettle-meta-armors.c b/nettle-meta-armors.c index 9b6c341e22a7d4c573aa74ed208df45ec424b172..17f87fcedd7165f60bffa06dcafa6364c3ed8991 100644 --- a/nettle-meta-armors.c +++ b/nettle-meta-armors.c @@ -36,9 +36,15 @@ #include <stddef.h> #include "nettle-meta.h" -const struct nettle_armor * const nettle_armors[] = { +const struct nettle_armor * const _nettle_armors[] = { &nettle_base64, &nettle_base64url, &nettle_base16, NULL }; + +const struct nettle_armor * const * +nettle_get_armors (void) +{ + return _nettle_armors; +} diff --git a/nettle-meta.h b/nettle-meta.h index c0320b45af7b5ed9aaaed6e616c8d3b7eaa66779..3c13e9b295ed966253fdf7b75dcf6ad749230178 100644 --- a/nettle-meta.h +++ b/nettle-meta.h @@ -244,7 +244,15 @@ struct nettle_armor } /* null-terminated list of armor schemes implemented by this version of nettle */ -extern const struct nettle_armor * const nettle_armors[]; +extern const struct nettle_armor * const _nettle_armors[]; + +const struct nettle_armor * const * +#ifdef __GNUC__ +__attribute__((pure)) +#endif +nettle_get_armors (void); + +#define nettle_armors (nettle_get_armors()) extern const struct nettle_armor nettle_base64; extern const struct nettle_armor nettle_base64url;