From 33e1c86f8b808e8d505c9a6ddbe9efb357be4d41 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 3 Aug 2014 15:19:20 +0000 Subject: [PATCH] openssl: constify * ext/openssl/ossl_asn1.c (ossl_asn1_info): constify. * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_sym2typeid): constify and remove sentinel as the count is used. * ext/openssl/ossl_ssl.c (ossl_ssl_method_tab): constify. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/openssl/ossl_asn1.c | 4 ++-- ext/openssl/ossl_pkcs7.c | 9 ++++----- ext/openssl/ossl_ssl.c | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/ext/openssl/ossl_asn1.c b/ext/openssl/ossl_asn1.c index efdfbfc8aa..65ae71e861 100644 --- a/ext/openssl/ossl_asn1.c +++ b/ext/openssl/ossl_asn1.c @@ -495,7 +495,7 @@ typedef struct { VALUE *klass; } ossl_asn1_info_t; -static ossl_asn1_info_t ossl_asn1_info[] = { +static const ossl_asn1_info_t ossl_asn1_info[] = { { "EOC", &cASN1EndOfContent, }, /* 0 */ { "BOOLEAN", &cASN1Boolean, }, /* 1 */ { "INTEGER", &cASN1Integer, }, /* 2 */ @@ -529,7 +529,7 @@ static ossl_asn1_info_t ossl_asn1_info[] = { { "BMPSTRING", &cASN1BMPString, }, /* 30 */ }; -int ossl_asn1_info_size = (sizeof(ossl_asn1_info)/sizeof(ossl_asn1_info[0])); +enum {ossl_asn1_info_size = (sizeof(ossl_asn1_info)/sizeof(ossl_asn1_info[0]))}; static VALUE class_tag_map; diff --git a/ext/openssl/ossl_pkcs7.c b/ext/openssl/ossl_pkcs7.c index 23de7dd558..bd5dc78947 100644 --- a/ext/openssl/ossl_pkcs7.c +++ b/ext/openssl/ossl_pkcs7.c @@ -364,8 +364,8 @@ ossl_pkcs7_sym2typeid(VALUE sym) const char *s; size_t l; - static struct { - const char *name; + static const struct { + char name[20]; int nid; } p7_type_tab[] = { { "signed", NID_pkcs7_signed }, @@ -374,14 +374,13 @@ ossl_pkcs7_sym2typeid(VALUE sym) { "enveloped", NID_pkcs7_enveloped }, { "encrypted", NID_pkcs7_encrypted }, { "digest", NID_pkcs7_digest }, - { NULL, 0 }, }; if (RB_TYPE_P(sym, T_SYMBOL)) sym = rb_sym2str(sym); else StringValue(sym); RSTRING_GETMEM(sym, s, l); - for(i = 0; i < numberof(p7_type_tab); i++){ - if(p7_type_tab[i].name == NULL) + for(i = 0; ; i++){ + if(i == numberof(p7_type_tab)) ossl_raise(ePKCS7Error, "unknown type \"%s\"", s); if(strlen(p7_type_tab[i].name) != l) continue; if(strcmp(p7_type_tab[i].name, s) == 0){ diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c index a13255f90e..d37e51c857 100644 --- a/ext/openssl/ossl_ssl.c +++ b/ext/openssl/ossl_ssl.c @@ -108,7 +108,7 @@ static VALUE sym_exception; /* * SSLContext class */ -struct { +static const struct { const char *name; SSL_METHOD *(*func)(void); } ossl_ssl_method_tab[] = {