1
10
13
14
20
21
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
105
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
...
...
...
#define NX_SECURE_SOURCE_CODE
#include "nx_secure_x509.h"
...
...
UINT _nx_secure_x509_certificate_list_remove(NX_SECURE_X509_CERT **list_head,
NX_SECURE_X509_DISTINGUISHED_NAME *name, UINT cert_id)
{
NX_SECURE_X509_CERT **current_cert;
INT compare_result;
if (list_head == NX_CRYPTO_NULL)
{
#ifdef NX_CRYPTO_STANDALONE_ENABLE
return(NX_CRYPTO_PTR_ERROR);
#else
return(NX_PTR_ERROR);
#endif
}if (list_head == NX_CRYPTO_NULL) { ... }
else
{
current_cert = list_head;
while ((*current_cert) != NX_CRYPTO_NULL)
{
if (name == NX_CRYPTO_NULL)
{
compare_result = ((*current_cert) -> nx_secure_x509_cert_identifier == cert_id) ? 0 : 1;
}if (name == NX_CRYPTO_NULL) { ... }
else
{
compare_result = _nx_secure_x509_distinguished_name_compare(name, &(*current_cert) -> nx_secure_x509_distinguished_name, NX_SECURE_X509_NAME_COMMON_NAME);
}else { ... }
if (compare_result == 0)
{
*current_cert = (*current_cert) -> nx_secure_x509_next_certificate;
return(NX_SECURE_X509_SUCCESS);
}if (compare_result == 0) { ... }
current_cert = &(*current_cert) -> nx_secure_x509_next_certificate;
}while ((*current_cert) != NX_CRYPTO_NULL) { ... }
}else { ... }
return(NX_SECURE_X509_CERTIFICATE_NOT_FOUND);
}{ ... }