return: * 1 - if found * -2 - if not found * -1 - if error */
| 1489 | * -1 - if error |
| 1490 | */ |
| 1491 | static int cdb_fetch(pv_name_fix_t *pv_name, str *cdb_res, int *entry_rld_vers) |
| 1492 | { |
| 1493 | str cdb_key; |
| 1494 | int rc = -1; |
| 1495 | |
| 1496 | cdb_key.len = pv_name->id.len + pv_name->key.len; |
| 1497 | cdb_key.s = pkg_malloc(cdb_key.len); |
| 1498 | if (!cdb_key.s) { |
| 1499 | LM_ERR("No more pkg memory\n"); |
| 1500 | return -1; |
| 1501 | } |
| 1502 | memcpy(cdb_key.s, pv_name->id.s, pv_name->id.len); |
| 1503 | memcpy(cdb_key.s + pv_name->id.len, pv_name->key.s, pv_name->key.len); |
| 1504 | |
| 1505 | *entry_rld_vers = get_rld_vers_from_cache(pv_name->c_entry, pv_name->db_hdls); |
| 1506 | if (*entry_rld_vers < 0) |
| 1507 | goto out_free; |
| 1508 | |
| 1509 | rc = pv_name->db_hdls->cdbf.get(pv_name->db_hdls->cdbcon, &cdb_key, cdb_res); |
| 1510 | |
| 1511 | out_free: |
| 1512 | pkg_free(cdb_key.s); |
| 1513 | return rc; |
| 1514 | } |
| 1515 | |
| 1516 | /* return: |
| 1517 | * 0 - succes |
no test coverage detected