From 0143b03dc4b79b6ea6a22234bb4ac94b06ba60c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Sun, 9 Apr 2017 15:18:52 +0200 Subject: [PATCH] New function nettle_get_armors. --- ChangeLog | 8 ++++++-- nettle-meta-armors.c | 8 +++++++- nettle-meta.h | 10 +++++++++- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index e8adc45a..8dd78c91 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 9b6c341e..17f87fce 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 c0320b45..3c13e9b2 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; -- GitLab