v1->v2:
Use correct static_ASN1_ITEM_start macros instead of ASN1_ITEM_start in
static_ASN1_SEQUENCE_END_ref definition.
---
 src/lib/libcrypto/asn1/asn1t.h | 62 ++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/src/lib/libcrypto/asn1/asn1t.h b/src/lib/libcrypto/asn1/asn1t.h
index ba380bdf4..e0d5bc1f7 100644
--- a/src/lib/libcrypto/asn1/asn1t.h
+++ b/src/lib/libcrypto/asn1/asn1t.h
@@ -81,6 +81,9 @@ extern "C" {
 #define ASN1_ITEM_start(itname) \
        const ASN1_ITEM itname##_it = {
 
+#define static_ASN1_ITEM_start(itname) \
+       static const ASN1_ITEM itname##_it = {
+
 #define ASN1_ITEM_end(itname) \
                };
 
@@ -102,6 +105,17 @@ extern "C" {
                0,\
                #tname \
        ASN1_ITEM_end(tname)
+#define static_ASN1_ITEM_TEMPLATE_END(tname) \
+       ;\
+       static_ASN1_ITEM_start(tname) \
+               ASN1_ITYPE_PRIMITIVE,\
+               -1,\
+               &tname##_item_tt,\
+               0,\
+               NULL,\
+               0,\
+               #tname \
+       ASN1_ITEM_end(tname)
 
 
 /* This is a ASN1 type which just embeds a template */
@@ -130,6 +144,7 @@ extern "C" {
        static const ASN1_TEMPLATE tname##_seq_tt[] 
 
 #define ASN1_SEQUENCE_END(stname) ASN1_SEQUENCE_END_name(stname, stname)
+#define static_ASN1_SEQUENCE_END(stname) static_ASN1_SEQUENCE_END_name(stname, 
stname)
 
 #define ASN1_SEQUENCE_END_name(stname, tname) \
        ;\
@@ -142,6 +157,17 @@ extern "C" {
                sizeof(stname),\
                #stname \
        ASN1_ITEM_end(tname)
+#define static_ASN1_SEQUENCE_END_name(stname, tname) \
+       ;\
+       static_ASN1_ITEM_start(tname) \
+               ASN1_ITYPE_SEQUENCE,\
+               V_ASN1_SEQUENCE,\
+               tname##_seq_tt,\
+               sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\
+               NULL,\
+               sizeof(stname),\
+               #stname \
+       ASN1_ITEM_end(tname)
 
 #define ASN1_NDEF_SEQUENCE(tname) \
        ASN1_SEQUENCE(tname)
@@ -176,12 +202,24 @@ extern "C" {
                sizeof(tname),\
                #tname \
        ASN1_ITEM_end(tname)
+#define static_ASN1_NDEF_SEQUENCE_END(tname) \
+       ;\
+       static_ASN1_ITEM_start(tname) \
+               ASN1_ITYPE_NDEF_SEQUENCE,\
+               V_ASN1_SEQUENCE,\
+               tname##_seq_tt,\
+               sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\
+               NULL,\
+               sizeof(tname),\
+               #tname \
+       ASN1_ITEM_end(tname)
 
 #define ASN1_BROKEN_SEQUENCE_END(stname) ASN1_SEQUENCE_END_ref(stname, stname)
 
 #define ASN1_SEQUENCE_END_enc(stname, tname) ASN1_SEQUENCE_END_ref(stname, 
tname)
 
 #define ASN1_SEQUENCE_END_cb(stname, tname) ASN1_SEQUENCE_END_ref(stname, 
tname)
+#define static_ASN1_SEQUENCE_END_cb(stname, tname) 
static_ASN1_SEQUENCE_END_ref(stname, tname)
 
 #define ASN1_SEQUENCE_END_ref(stname, tname) \
        ;\
@@ -194,6 +232,17 @@ extern "C" {
                sizeof(stname),\
                #stname \
        ASN1_ITEM_end(tname)
+#define static_ASN1_SEQUENCE_END_ref(stname, tname) \
+       ;\
+       static_ASN1_ITEM_start(tname) \
+               ASN1_ITYPE_SEQUENCE,\
+               V_ASN1_SEQUENCE,\
+               tname##_seq_tt,\
+               sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\
+               &tname##_aux,\
+               sizeof(stname),\
+               #stname \
+       ASN1_ITEM_end(tname)
 
 #define ASN1_NDEF_SEQUENCE_END_cb(stname, tname) \
        ;\
@@ -238,8 +287,10 @@ extern "C" {
        ASN1_CHOICE(tname)
 
 #define ASN1_CHOICE_END(stname) ASN1_CHOICE_END_name(stname, stname)
+#define static_ASN1_CHOICE_END(stname) static_ASN1_CHOICE_END_name(stname, 
stname)
 
 #define ASN1_CHOICE_END_name(stname, tname) ASN1_CHOICE_END_selector(stname, 
tname, type)
+#define static_ASN1_CHOICE_END_name(stname, tname) 
static_ASN1_CHOICE_END_selector(stname, tname, type)
 
 #define ASN1_CHOICE_END_selector(stname, tname, selname) \
        ;\
@@ -252,6 +303,17 @@ extern "C" {
                sizeof(stname),\
                #stname \
        ASN1_ITEM_end(tname)
+#define static_ASN1_CHOICE_END_selector(stname, tname, selname) \
+       ;\
+       static_ASN1_ITEM_start(tname) \
+               ASN1_ITYPE_CHOICE,\
+               offsetof(stname,selname) ,\
+               tname##_ch_tt,\
+               sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\
+               NULL,\
+               sizeof(stname),\
+               #stname \
+       ASN1_ITEM_end(tname)
 
 #define ASN1_CHOICE_END_cb(stname, tname, selname) \
        ;\
-- 
2.22.1

Reply via email to