| 1300 | } |
| 1301 | |
| 1302 | cs_error_t icmap_copy_map(icmap_map_t dst_map, const icmap_map_t src_map) |
| 1303 | { |
| 1304 | icmap_iter_t iter; |
| 1305 | size_t value_len; |
| 1306 | icmap_value_types_t value_type; |
| 1307 | const char *key_name; |
| 1308 | cs_error_t err; |
| 1309 | void *value; |
| 1310 | |
| 1311 | iter = icmap_iter_init_r(src_map, NULL); |
| 1312 | if (iter == NULL) { |
| 1313 | return (CS_ERR_NO_MEMORY); |
| 1314 | } |
| 1315 | |
| 1316 | err = CS_OK; |
| 1317 | |
| 1318 | while ((key_name = icmap_iter_next(iter, &value_len, &value_type)) != NULL) { |
| 1319 | err = icmap_get_ref_r(src_map, key_name, &value, &value_len, &value_type); |
| 1320 | if (err != CS_OK) { |
| 1321 | goto exit_iter_finalize; |
| 1322 | } |
| 1323 | |
| 1324 | err = icmap_set_r(dst_map, key_name, value, value_len, value_type); |
| 1325 | if (err != CS_OK) { |
| 1326 | goto exit_iter_finalize; |
| 1327 | } |
| 1328 | } |
| 1329 | |
| 1330 | exit_iter_finalize: |
| 1331 | icmap_iter_finalize(iter); |
| 1332 | |
| 1333 | return (err); |
| 1334 | } |
no test coverage detected