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/slice_mbr.c
Line
Count
Source
1
2
#include <stdlib.h>
3
#include <string.h>
4
#include <stdio.h>
5
#include "slice_mbr.h"
6
7
OpenAPI_slice_mbr_t *OpenAPI_slice_mbr_create(
8
    char *uplink,
9
    char *downlink
10
)
11
190
{
12
190
    OpenAPI_slice_mbr_t *slice_mbr_local_var = ogs_malloc(sizeof(OpenAPI_slice_mbr_t));
13
190
    ogs_assert(slice_mbr_local_var);
14
15
190
    slice_mbr_local_var->uplink = uplink;
16
190
    slice_mbr_local_var->downlink = downlink;
17
18
190
    return slice_mbr_local_var;
19
190
}
20
21
void OpenAPI_slice_mbr_free(OpenAPI_slice_mbr_t *slice_mbr)
22
1.91k
{
23
1.91k
    OpenAPI_lnode_t *node = NULL;
24
25
1.91k
    if (NULL == slice_mbr) {
26
1.72k
        return;
27
1.72k
    }
28
190
    if (slice_mbr->uplink) {
29
190
        ogs_free(slice_mbr->uplink);
30
190
        slice_mbr->uplink = NULL;
31
190
    }
32
190
    if (slice_mbr->downlink) {
33
190
        ogs_free(slice_mbr->downlink);
34
190
        slice_mbr->downlink = NULL;
35
190
    }
36
190
    ogs_free(slice_mbr);
37
190
}
38
39
cJSON *OpenAPI_slice_mbr_convertToJSON(OpenAPI_slice_mbr_t *slice_mbr)
40
0
{
41
0
    cJSON *item = NULL;
42
0
    OpenAPI_lnode_t *node = NULL;
43
44
0
    if (slice_mbr == NULL) {
45
0
        ogs_error("OpenAPI_slice_mbr_convertToJSON() failed [SliceMbr]");
46
0
        return NULL;
47
0
    }
48
49
0
    item = cJSON_CreateObject();
50
0
    if (!slice_mbr->uplink) {
51
0
        ogs_error("OpenAPI_slice_mbr_convertToJSON() failed [uplink]");
52
0
        return NULL;
53
0
    }
54
0
    if (cJSON_AddStringToObject(item, "uplink", slice_mbr->uplink) == NULL) {
55
0
        ogs_error("OpenAPI_slice_mbr_convertToJSON() failed [uplink]");
56
0
        goto end;
57
0
    }
58
59
0
    if (!slice_mbr->downlink) {
60
0
        ogs_error("OpenAPI_slice_mbr_convertToJSON() failed [downlink]");
61
0
        return NULL;
62
0
    }
63
0
    if (cJSON_AddStringToObject(item, "downlink", slice_mbr->downlink) == NULL) {
64
0
        ogs_error("OpenAPI_slice_mbr_convertToJSON() failed [downlink]");
65
0
        goto end;
66
0
    }
67
68
0
end:
69
0
    return item;
70
0
}
71
72
OpenAPI_slice_mbr_t *OpenAPI_slice_mbr_parseFromJSON(cJSON *slice_mbrJSON)
73
1.51k
{
74
1.51k
    OpenAPI_slice_mbr_t *slice_mbr_local_var = NULL;
75
1.51k
    OpenAPI_lnode_t *node = NULL;
76
1.51k
    cJSON *uplink = NULL;
77
1.51k
    cJSON *downlink = NULL;
78
1.51k
    uplink = cJSON_GetObjectItemCaseSensitive(slice_mbrJSON, "uplink");
79
1.51k
    if (!uplink) {
80
739
        ogs_error("OpenAPI_slice_mbr_parseFromJSON() failed [uplink]");
81
739
        goto end;
82
739
    }
83
779
    if (!cJSON_IsString(uplink)) {
84
191
        ogs_error("OpenAPI_slice_mbr_parseFromJSON() failed [uplink]");
85
191
        goto end;
86
191
    }
87
88
588
    downlink = cJSON_GetObjectItemCaseSensitive(slice_mbrJSON, "downlink");
89
588
    if (!downlink) {
90
204
        ogs_error("OpenAPI_slice_mbr_parseFromJSON() failed [downlink]");
91
204
        goto end;
92
204
    }
93
384
    if (!cJSON_IsString(downlink)) {
94
194
        ogs_error("OpenAPI_slice_mbr_parseFromJSON() failed [downlink]");
95
194
        goto end;
96
194
    }
97
98
190
    slice_mbr_local_var = OpenAPI_slice_mbr_create (
99
190
        ogs_strdup(uplink->valuestring),
100
190
        ogs_strdup(downlink->valuestring)
101
190
    );
102
103
190
    return slice_mbr_local_var;
104
1.32k
end:
105
1.32k
    return NULL;
106
384
}
107
108
OpenAPI_slice_mbr_t *OpenAPI_slice_mbr_copy(OpenAPI_slice_mbr_t *dst, OpenAPI_slice_mbr_t *src)
109
0
{
110
0
    cJSON *item = NULL;
111
0
    char *content = NULL;
112
113
0
    ogs_assert(src);
114
0
    item = OpenAPI_slice_mbr_convertToJSON(src);
115
0
    if (!item) {
116
0
        ogs_error("OpenAPI_slice_mbr_convertToJSON() failed");
117
0
        return NULL;
118
0
    }
119
120
0
    content = cJSON_Print(item);
121
0
    cJSON_Delete(item);
122
123
0
    if (!content) {
124
0
        ogs_error("cJSON_Print() failed");
125
0
        return NULL;
126
0
    }
127
128
0
    item = cJSON_Parse(content);
129
0
    ogs_free(content);
130
0
    if (!item) {
131
0
        ogs_error("cJSON_Parse() failed");
132
0
        return NULL;
133
0
    }
134
135
0
    OpenAPI_slice_mbr_free(dst);
136
0
    dst = OpenAPI_slice_mbr_parseFromJSON(item);
137
0
    cJSON_Delete(item);
138
139
0
    return dst;
140
0
}
141