Skip to content

Commit 5de80d1

Browse files
committed
comment
1 parent 9230d67 commit 5de80d1

File tree

1 file changed

+12
-21
lines changed

1 file changed

+12
-21
lines changed

src/util/smap.c

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1036,38 +1036,29 @@ static int smap__node_resize(smap_node_t * node, uint8_t pos)
10361036
smap_nodes_t * tmp;
10371037
uint8_t diff = node->offset - pos;
10381038
uint8_t oldn = node->sz;
1039-
node->sz += diff;
1040-
if (node->sz == 0)
1039+
node->sz += diff; /* alway > 0 as diff > 0 */
1040+
tmp = realloc(node->nodes, node->sz * sizeof(smap_nodes_t));
1041+
if (!tmp)
10411042
{
1042-
free(node->nodes);
1043-
node->nodes = NULL;
1044-
node->offset = pos;
1043+
node->sz -= diff;
1044+
rc = SMAP_ERR_ALLOC;
10451045
}
10461046
else
10471047
{
1048-
tmp = realloc(node->nodes, node->sz * sizeof(smap_nodes_t));
1049-
if (!tmp)
1050-
{
1051-
node->sz -= diff;
1052-
rc = SMAP_ERR_ALLOC;
1053-
}
1054-
else
1055-
{
1056-
node->nodes = tmp;
1057-
node->offset = pos;
1058-
memmove(node->nodes + diff,
1059-
node->nodes,
1060-
oldn * sizeof(smap_nodes_t));
1061-
memset(node->nodes, 0, diff * sizeof(smap_nodes_t));
1062-
}
1048+
node->nodes = tmp;
1049+
node->offset = pos;
1050+
memmove(node->nodes + diff,
1051+
node->nodes,
1052+
oldn * sizeof(smap_nodes_t));
1053+
memset(node->nodes, 0, diff * sizeof(smap_nodes_t));
10631054
}
10641055
}
10651056
else if (pos >= node->offset + node->sz)
10661057
{
10671058
smap_nodes_t * tmp;
10681059
uint8_t diff = pos - node->offset - node->sz + 1;
10691060
uint8_t oldn = node->sz;
1070-
node->sz += diff; /* assert node->sz > 0 */
1061+
node->sz += diff; /* alway > 0 as diff > 0 */
10711062
tmp = realloc(node->nodes, node->sz * sizeof(smap_nodes_t));
10721063
if (!tmp)
10731064
{

0 commit comments

Comments
 (0)