| 9341 | e->id = xstrdup(id); |
| 9342 | e->block = b; |
| 9343 | e->bytes = strlen(id) + 1 + sizeof(*e); |
| 9344 | e->stamp = ++m->clock; |
| 9345 | e->source = source; |
| 9346 | e->block_next = b->entries; |
| 9347 | b->entries = e; |
| 9348 | b->refs++; |
| 9349 | |
| 9350 | if (!raxInsert(m->by_id, (unsigned char *)e->id, strlen(e->id), e, NULL)) { |
| 9351 | tool_block_unlink_entry(b, e); |
| 9352 | free(e->id); |
| 9353 | free(e); |
| 9354 | tool_memory_release_block_locked(m, b); |
| 9355 | die("out of memory"); |
| 9356 | } |
| 9357 | tool_memory_link_head(m, e); |
| 9358 | m->entries++; |
| 9359 | m->bytes += e->bytes; |
| 9360 | tool_memory_prune_locked(m); |
| 9361 | } |
no outgoing calls
no test coverage detected