source: EcnlProtoTool/trunk/openssl-1.1.0e/crypto/asn1/t_bitst.c@ 331

Last change on this file since 331 was 331, checked in by coas-nagasima, 6 years ago

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-csrc
File size: 1.6 KB
Line 
1/*
2 * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
3 *
4 * Licensed under the OpenSSL license (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
8 */
9
10#include <stdio.h>
11#include "internal/cryptlib.h"
12#include <openssl/conf.h>
13#include <openssl/x509v3.h>
14
15int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs,
16 BIT_STRING_BITNAME *tbl, int indent)
17{
18 BIT_STRING_BITNAME *bnam;
19 char first = 1;
20 BIO_printf(out, "%*s", indent, "");
21 for (bnam = tbl; bnam->lname; bnam++) {
22 if (ASN1_BIT_STRING_get_bit(bs, bnam->bitnum)) {
23 if (!first)
24 BIO_puts(out, ", ");
25 BIO_puts(out, bnam->lname);
26 first = 0;
27 }
28 }
29 BIO_puts(out, "\n");
30 return 1;
31}
32
33int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value,
34 BIT_STRING_BITNAME *tbl)
35{
36 int bitnum;
37 bitnum = ASN1_BIT_STRING_num_asc(name, tbl);
38 if (bitnum < 0)
39 return 0;
40 if (bs) {
41 if (!ASN1_BIT_STRING_set_bit(bs, bitnum, value))
42 return 0;
43 }
44 return 1;
45}
46
47int ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl)
48{
49 BIT_STRING_BITNAME *bnam;
50 for (bnam = tbl; bnam->lname; bnam++) {
51 if ((strcmp(bnam->sname, name) == 0)
52 || (strcmp(bnam->lname, name) == 0))
53 return bnam->bitnum;
54 }
55 return -1;
56}
Note: See TracBrowser for help on using the repository browser.