summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2017-04-09 15:18:52 +0200
committerNiels Möller <nisse@lysator.liu.se>2017-04-09 15:18:52 +0200
commit0143b03dc4b79b6ea6a22234bb4ac94b06ba60c7 (patch)
treea13e9eeb96aceea49cbb564e6d0a0509b5c3242e
parentb076e62ef304a75a273a3fd8d1455e667095ecc6 (diff)
downloadnettle-0143b03dc4b79b6ea6a22234bb4ac94b06ba60c7.tar.gz
New function nettle_get_armors.
-rw-r--r--ChangeLog8
-rw-r--r--nettle-meta-armors.c8
-rw-r--r--nettle-meta.h10
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;