MCPcopy Create free account
hub / github.com/F-Stack/f-stack / nvpair_clone

Function nvpair_clone

freebsd/contrib/libnv/bsd_nvpair.c:254–317  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

252}
253
254nvpair_t *
255nvpair_clone(const nvpair_t *nvp)
256{
257 nvpair_t *newnvp;
258 const char *name;
259 const void *data;
260 size_t datasize;
261
262 NVPAIR_ASSERT(nvp);
263
264 name = nvpair_name(nvp);
265
266 switch (nvpair_type(nvp)) {
267 case NV_TYPE_NULL:
268 newnvp = nvpair_create_null(name);
269 break;
270 case NV_TYPE_BOOL:
271 newnvp = nvpair_create_bool(name, nvpair_get_bool(nvp));
272 break;
273 case NV_TYPE_NUMBER:
274 newnvp = nvpair_create_number(name, nvpair_get_number(nvp));
275 break;
276 case NV_TYPE_STRING:
277 newnvp = nvpair_create_string(name, nvpair_get_string(nvp));
278 break;
279 case NV_TYPE_NVLIST:
280 newnvp = nvpair_create_nvlist(name, nvpair_get_nvlist(nvp));
281 break;
282 case NV_TYPE_BINARY:
283 data = nvpair_get_binary(nvp, &datasize);
284 newnvp = nvpair_create_binary(name, data, datasize);
285 break;
286 case NV_TYPE_BOOL_ARRAY:
287 data = nvpair_get_bool_array(nvp, &datasize);
288 newnvp = nvpair_create_bool_array(name, data, datasize);
289 break;
290 case NV_TYPE_NUMBER_ARRAY:
291 data = nvpair_get_number_array(nvp, &datasize);
292 newnvp = nvpair_create_number_array(name, data, datasize);
293 break;
294 case NV_TYPE_STRING_ARRAY:
295 data = nvpair_get_string_array(nvp, &datasize);
296 newnvp = nvpair_create_string_array(name, data, datasize);
297 break;
298 case NV_TYPE_NVLIST_ARRAY:
299 data = nvpair_get_nvlist_array(nvp, &datasize);
300 newnvp = nvpair_create_nvlist_array(name, data, datasize);
301 break;
302#ifndef _KERNEL
303 case NV_TYPE_DESCRIPTOR:
304 newnvp = nvpair_create_descriptor(name,
305 nvpair_get_descriptor(nvp));
306 break;
307 case NV_TYPE_DESCRIPTOR_ARRAY:
308 data = nvpair_get_descriptor_array(nvp, &datasize);
309 newnvp = nvpair_create_descriptor_array(name, data, datasize);
310 break;
311#endif

Callers 2

nvlist_cloneFunction · 0.85
nvlist_add_nvpairFunction · 0.85

Calls 15

nvpair_create_nullFunction · 0.85
nvpair_create_boolFunction · 0.85
nvpair_get_boolFunction · 0.85
nvpair_create_numberFunction · 0.85
nvpair_get_numberFunction · 0.85
nvpair_create_stringFunction · 0.85
nvpair_get_stringFunction · 0.85
nvpair_create_nvlistFunction · 0.85
nvpair_get_nvlistFunction · 0.85
nvpair_get_binaryFunction · 0.85
nvpair_create_binaryFunction · 0.85
nvpair_get_bool_arrayFunction · 0.85

Tested by

no test coverage detected