Coverage Report

Created: 2026-11-06 06:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/open5gs/lib/sbi/openapi/model/arp.c
Line
Count
Source
1
2
#include <stdlib.h>
3
#include <string.h>
4
#include <stdio.h>
5
#include "arp.h"
6
7
OpenAPI_arp_t *OpenAPI_arp_create(
8
    int priority_level,
9
    OpenAPI_preemption_capability_e preempt_cap,
10
    OpenAPI_preemption_vulnerability_e preempt_vuln
11
)
12
1.09k
{
13
1.09k
    OpenAPI_arp_t *arp_local_var = ogs_malloc(sizeof(OpenAPI_arp_t));
14
1.09k
    ogs_assert(arp_local_var);
15
16
1.09k
    arp_local_var->priority_level = priority_level;
17
1.09k
    arp_local_var->preempt_cap = preempt_cap;
18
1.09k
    arp_local_var->preempt_vuln = preempt_vuln;
19
20
1.09k
    return arp_local_var;
21
1.09k
}
22
23
void OpenAPI_arp_free(OpenAPI_arp_t *arp)
24
1.05k
{
25
1.05k
    OpenAPI_lnode_t *node = NULL;
26
27
1.05k
    if (NULL == arp) {
28
0
        return;
29
0
    }
30
1.05k
    ogs_free(arp);
31
1.05k
}
32
33
cJSON *OpenAPI_arp_convertToJSON(OpenAPI_arp_t *arp)
34
0
{
35
0
    cJSON *item = NULL;
36
0
    OpenAPI_lnode_t *node = NULL;
37
38
0
    if (arp == NULL) {
39
0
        ogs_error("OpenAPI_arp_convertToJSON() failed [Arp]");
40
0
        return NULL;
41
0
    }
42
43
0
    item = cJSON_CreateObject();
44
0
    if (cJSON_AddNumberToObject(item, "priorityLevel", arp->priority_level) == NULL) {
45
0
        ogs_error("OpenAPI_arp_convertToJSON() failed [priority_level]");
46
0
        goto end;
47
0
    }
48
49
0
    if (arp->preempt_cap == OpenAPI_preemption_capability_NULL) {
50
0
        ogs_error("OpenAPI_arp_convertToJSON() failed [preempt_cap]");
51
0
        return NULL;
52
0
    }
53
0
    if (cJSON_AddStringToObject(item, "preemptCap", OpenAPI_preemption_capability_ToString(arp->preempt_cap)) == NULL) {
54
0
        ogs_error("OpenAPI_arp_convertToJSON() failed [preempt_cap]");
55
0
        goto end;
56
0
    }
57
58
0
    if (arp->preempt_vuln == OpenAPI_preemption_vulnerability_NULL) {
59
0
        ogs_error("OpenAPI_arp_convertToJSON() failed [preempt_vuln]");
60
0
        return NULL;
61
0
    }
62
0
    if (cJSON_AddStringToObject(item, "preemptVuln", OpenAPI_preemption_vulnerability_ToString(arp->preempt_vuln)) == NULL) {
63
0
        ogs_error("OpenAPI_arp_convertToJSON() failed [preempt_vuln]");
64
0
        goto end;
65
0
    }
66
67
0
end:
68
0
    return item;
69
0
}
70
71
OpenAPI_arp_t *OpenAPI_arp_parseFromJSON(cJSON *arpJSON)
72
2.03k
{
73
2.03k
    OpenAPI_arp_t *arp_local_var = NULL;
74
2.03k
    OpenAPI_lnode_t *node = NULL;
75
2.03k
    cJSON *priority_level = NULL;
76
2.03k
    cJSON *preempt_cap = NULL;
77
2.03k
    OpenAPI_preemption_capability_e preempt_capVariable = 0;
78
2.03k
    cJSON *preempt_vuln = NULL;
79
2.03k
    OpenAPI_preemption_vulnerability_e preempt_vulnVariable = 0;
80
2.03k
    priority_level = cJSON_GetObjectItemCaseSensitive(arpJSON, "priorityLevel");
81
2.03k
    if (!priority_level) {
82
275
        ogs_error("OpenAPI_arp_parseFromJSON() failed [priority_level]");
83
275
        goto end;
84
275
    }
85
1.76k
    if (!cJSON_IsNumber(priority_level)) {
86
120
        ogs_error("OpenAPI_arp_parseFromJSON() failed [priority_level]");
87
120
        goto end;
88
120
    }
89
90
1.64k
    preempt_cap = cJSON_GetObjectItemCaseSensitive(arpJSON, "preemptCap");
91
1.64k
    if (!preempt_cap) {
92
172
        ogs_error("OpenAPI_arp_parseFromJSON() failed [preempt_cap]");
93
172
        goto end;
94
172
    }
95
1.46k
    if (!cJSON_IsString(preempt_cap)) {
96
75
        ogs_error("OpenAPI_arp_parseFromJSON() failed [preempt_cap]");
97
75
        goto end;
98
75
    }
99
1.39k
    preempt_capVariable = OpenAPI_preemption_capability_FromString(preempt_cap->valuestring);
100
101
1.39k
    preempt_vuln = cJSON_GetObjectItemCaseSensitive(arpJSON, "preemptVuln");
102
1.39k
    if (!preempt_vuln) {
103
190
        ogs_error("OpenAPI_arp_parseFromJSON() failed [preempt_vuln]");
104
190
        goto end;
105
190
    }
106
1.20k
    if (!cJSON_IsString(preempt_vuln)) {
107
104
        ogs_error("OpenAPI_arp_parseFromJSON() failed [preempt_vuln]");
108
104
        goto end;
109
104
    }
110
1.09k
    preempt_vulnVariable = OpenAPI_preemption_vulnerability_FromString(preempt_vuln->valuestring);
111
112
1.09k
    arp_local_var = OpenAPI_arp_create (
113
        
114
1.09k
        priority_level->valuedouble,
115
1.09k
        preempt_capVariable,
116
1.09k
        preempt_vulnVariable
117
1.09k
    );
118
119
1.09k
    return arp_local_var;
120
936
end:
121
936
    return NULL;
122
1.20k
}
123
124
OpenAPI_arp_t *OpenAPI_arp_copy(OpenAPI_arp_t *dst, OpenAPI_arp_t *src)
125
0
{
126
0
    cJSON *item = NULL;
127
0
    char *content = NULL;
128
129
0
    ogs_assert(src);
130
0
    item = OpenAPI_arp_convertToJSON(src);
131
0
    if (!item) {
132
0
        ogs_error("OpenAPI_arp_convertToJSON() failed");
133
0
        return NULL;
134
0
    }
135
136
0
    content = cJSON_Print(item);
137
0
    cJSON_Delete(item);
138
139
0
    if (!content) {
140
0
        ogs_error("cJSON_Print() failed");
141
0
        return NULL;
142
0
    }
143
144
0
    item = cJSON_Parse(content);
145
0
    ogs_free(content);
146
0
    if (!item) {
147
0
        ogs_error("cJSON_Parse() failed");
148
0
        return NULL;
149
0
    }
150
151
0
    OpenAPI_arp_free(dst);
152
0
    dst = OpenAPI_arp_parseFromJSON(item);
153
0
    cJSON_Delete(item);
154
155
0
    return dst;
156
0
}
157