Coverage Report

Created: 2026-10-16 06:49

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/open5gs/lib/sbi/openapi/model/addr_fqdn.c
Line
Count
Source
1
2
#include <stdlib.h>
3
#include <string.h>
4
#include <stdio.h>
5
#include "addr_fqdn.h"
6
7
OpenAPI_addr_fqdn_t *OpenAPI_addr_fqdn_create(
8
    OpenAPI_ip_addr_t *ip_addr,
9
    char *fqdn
10
)
11
0
{
12
0
    OpenAPI_addr_fqdn_t *addr_fqdn_local_var = ogs_malloc(sizeof(OpenAPI_addr_fqdn_t));
13
0
    ogs_assert(addr_fqdn_local_var);
14
15
0
    addr_fqdn_local_var->ip_addr = ip_addr;
16
0
    addr_fqdn_local_var->fqdn = fqdn;
17
18
0
    return addr_fqdn_local_var;
19
0
}
20
21
void OpenAPI_addr_fqdn_free(OpenAPI_addr_fqdn_t *addr_fqdn)
22
0
{
23
0
    OpenAPI_lnode_t *node = NULL;
24
25
0
    if (NULL == addr_fqdn) {
26
0
        return;
27
0
    }
28
0
    if (addr_fqdn->ip_addr) {
29
0
        OpenAPI_ip_addr_free(addr_fqdn->ip_addr);
30
0
        addr_fqdn->ip_addr = NULL;
31
0
    }
32
0
    if (addr_fqdn->fqdn) {
33
0
        ogs_free(addr_fqdn->fqdn);
34
0
        addr_fqdn->fqdn = NULL;
35
0
    }
36
0
    ogs_free(addr_fqdn);
37
0
}
38
39
cJSON *OpenAPI_addr_fqdn_convertToJSON(OpenAPI_addr_fqdn_t *addr_fqdn)
40
0
{
41
0
    cJSON *item = NULL;
42
0
    OpenAPI_lnode_t *node = NULL;
43
44
0
    if (addr_fqdn == NULL) {
45
0
        ogs_error("OpenAPI_addr_fqdn_convertToJSON() failed [AddrFqdn]");
46
0
        return NULL;
47
0
    }
48
49
0
    item = cJSON_CreateObject();
50
0
    if (addr_fqdn->ip_addr) {
51
0
    cJSON *ip_addr_local_JSON = OpenAPI_ip_addr_convertToJSON(addr_fqdn->ip_addr);
52
0
    if (ip_addr_local_JSON == NULL) {
53
0
        ogs_error("OpenAPI_addr_fqdn_convertToJSON() failed [ip_addr]");
54
0
        goto end;
55
0
    }
56
0
    cJSON_AddItemToObject(item, "ipAddr", ip_addr_local_JSON);
57
0
    if (item->child == NULL) {
58
0
        ogs_error("OpenAPI_addr_fqdn_convertToJSON() failed [ip_addr]");
59
0
        goto end;
60
0
    }
61
0
    }
62
63
0
    if (addr_fqdn->fqdn) {
64
0
    if (cJSON_AddStringToObject(item, "fqdn", addr_fqdn->fqdn) == NULL) {
65
0
        ogs_error("OpenAPI_addr_fqdn_convertToJSON() failed [fqdn]");
66
0
        goto end;
67
0
    }
68
0
    }
69
70
0
end:
71
0
    return item;
72
0
}
73
74
OpenAPI_addr_fqdn_t *OpenAPI_addr_fqdn_parseFromJSON(cJSON *addr_fqdnJSON)
75
0
{
76
0
    OpenAPI_addr_fqdn_t *addr_fqdn_local_var = NULL;
77
0
    OpenAPI_lnode_t *node = NULL;
78
0
    cJSON *ip_addr = NULL;
79
0
    OpenAPI_ip_addr_t *ip_addr_local_nonprim = NULL;
80
0
    cJSON *fqdn = NULL;
81
0
    ip_addr = cJSON_GetObjectItemCaseSensitive(addr_fqdnJSON, "ipAddr");
82
0
    if (ip_addr) {
83
0
    ip_addr_local_nonprim = OpenAPI_ip_addr_parseFromJSON(ip_addr);
84
0
    if (!ip_addr_local_nonprim) {
85
0
        ogs_error("OpenAPI_ip_addr_parseFromJSON failed [ip_addr]");
86
0
        goto end;
87
0
    }
88
0
    }
89
90
0
    fqdn = cJSON_GetObjectItemCaseSensitive(addr_fqdnJSON, "fqdn");
91
0
    if (fqdn) {
92
0
    if (!cJSON_IsString(fqdn) && !cJSON_IsNull(fqdn)) {
93
0
        ogs_error("OpenAPI_addr_fqdn_parseFromJSON() failed [fqdn]");
94
0
        goto end;
95
0
    }
96
0
    }
97
98
0
    addr_fqdn_local_var = OpenAPI_addr_fqdn_create (
99
0
        ip_addr ? ip_addr_local_nonprim : NULL,
100
0
        fqdn && !cJSON_IsNull(fqdn) ? ogs_strdup(fqdn->valuestring) : NULL
101
0
    );
102
103
0
    return addr_fqdn_local_var;
104
0
end:
105
0
    if (ip_addr_local_nonprim) {
106
0
        OpenAPI_ip_addr_free(ip_addr_local_nonprim);
107
0
        ip_addr_local_nonprim = NULL;
108
0
    }
109
0
    return NULL;
110
0
}
111
112
OpenAPI_addr_fqdn_t *OpenAPI_addr_fqdn_copy(OpenAPI_addr_fqdn_t *dst, OpenAPI_addr_fqdn_t *src)
113
0
{
114
0
    cJSON *item = NULL;
115
0
    char *content = NULL;
116
117
0
    ogs_assert(src);
118
0
    item = OpenAPI_addr_fqdn_convertToJSON(src);
119
0
    if (!item) {
120
0
        ogs_error("OpenAPI_addr_fqdn_convertToJSON() failed");
121
0
        return NULL;
122
0
    }
123
124
0
    content = cJSON_Print(item);
125
0
    cJSON_Delete(item);
126
127
0
    if (!content) {
128
0
        ogs_error("cJSON_Print() failed");
129
0
        return NULL;
130
0
    }
131
132
0
    item = cJSON_Parse(content);
133
0
    ogs_free(content);
134
0
    if (!item) {
135
0
        ogs_error("cJSON_Parse() failed");
136
0
        return NULL;
137
0
    }
138
139
0
    OpenAPI_addr_fqdn_free(dst);
140
0
    dst = OpenAPI_addr_fqdn_parseFromJSON(item);
141
0
    cJSON_Delete(item);
142
143
0
    return dst;
144
0
}
145