Skip to content

Commit aaa5dac

Browse files
Tweak
1 parent 0b2bd1c commit aaa5dac

File tree

1 file changed

+22
-48
lines changed

1 file changed

+22
-48
lines changed

c/tskit/tables.c

+22-48
Original file line numberDiff line numberDiff line change
@@ -642,28 +642,27 @@ alloc_empty_ragged_column(tsk_size_t num_rows, void **data_col, tsk_size_t **off
642642
}
643643

644644
static int
645-
takeset_metadata_column(tsk_size_t num_rows, char *metadata, tsk_size_t *metadata_offset,
646-
char **metadata_dest, tsk_size_t **metadata_offset_dest)
645+
takeset_ragged_column(tsk_size_t num_rows, void *data, tsk_size_t *offset,
646+
void **data_dest, tsk_size_t **offset_dest)
647647
{
648648
int ret = 0;
649649

650-
if ((metadata == NULL) != (metadata_offset == NULL)) {
650+
if ((data == NULL) != (offset == NULL)) {
651651
ret = TSK_ERR_BAD_PARAM_VALUE;
652652
goto out;
653653
}
654-
if (metadata == NULL) {
655-
ret = alloc_empty_ragged_column(
656-
num_rows, (void *) metadata_dest, metadata_offset_dest);
654+
if (data == NULL) {
655+
ret = alloc_empty_ragged_column(num_rows, (void *) data_dest, offset_dest);
657656
if (ret != 0) {
658657
goto out;
659658
}
660659
} else {
661-
ret = check_offsets(num_rows, metadata_offset, 0, false);
660+
ret = check_offsets(num_rows, offset, 0, false);
662661
if (ret != 0) {
663662
goto out;
664663
}
665-
*metadata_dest = metadata;
666-
*metadata_offset_dest = metadata_offset;
664+
*data_dest = data;
665+
*offset_dest = offset;
667666
}
668667
out:
669668
return ret;
@@ -684,7 +683,7 @@ takeset_optional_id_column(tsk_size_t num_rows, tsk_id_t *input, tsk_id_t **dest
684683
goto out;
685684
}
686685
*dest = buff;
687-
memset(buff, 0xff, buffsize);
686+
tsk_memset(buff, 0xff, buffsize);
688687
} else {
689688
*dest = input;
690689
}
@@ -1087,46 +1086,18 @@ tsk_individual_table_takeset_columns(tsk_individual_table_t *self, tsk_size_t nu
10871086
self->flags = flags;
10881087
}
10891088

1090-
if ((location == NULL) != (location_offset == NULL)) {
1091-
ret = TSK_ERR_BAD_PARAM_VALUE;
1089+
ret = takeset_ragged_column(num_rows, location, location_offset,
1090+
(void *) &self->location, &self->location_offset);
1091+
if (ret != 0) {
10921092
goto out;
10931093
}
1094-
if (location == NULL) {
1095-
ret = alloc_empty_ragged_column(
1096-
num_rows, (void *) &self->location, &self->location_offset);
1097-
if (ret != 0) {
1098-
goto out;
1099-
}
1100-
} else {
1101-
ret = check_offsets(num_rows, location_offset, 0, false);
1102-
if (ret != 0) {
1103-
goto out;
1104-
}
1105-
self->location = location;
1106-
self->location_offset = location_offset;
1107-
}
1108-
1109-
if ((parents == NULL) != (parents_offset == NULL)) {
1110-
ret = TSK_ERR_BAD_PARAM_VALUE;
1094+
ret = takeset_ragged_column(num_rows, parents, parents_offset,
1095+
(void *) &self->parents, &self->parents_offset);
1096+
if (ret != 0) {
11111097
goto out;
11121098
}
1113-
if (parents == NULL) {
1114-
ret = alloc_empty_ragged_column(
1115-
num_rows, (void *) &self->parents, &self->parents_offset);
1116-
if (ret != 0) {
1117-
goto out;
1118-
}
1119-
} else {
1120-
ret = check_offsets(num_rows, parents_offset, 0, false);
1121-
if (ret != 0) {
1122-
goto out;
1123-
}
1124-
self->parents = parents;
1125-
self->parents_offset = parents_offset;
1126-
}
1127-
1128-
ret = takeset_metadata_column(
1129-
num_rows, metadata, metadata_offset, &self->metadata, &self->metadata_offset);
1099+
ret = takeset_ragged_column(num_rows, metadata, metadata_offset,
1100+
(void *) &self->metadata, &self->metadata_offset);
11301101
if (ret != 0) {
11311102
goto out;
11321103
}
@@ -1854,6 +1825,9 @@ tsk_node_table_takeset_columns(tsk_node_table_t *self, tsk_size_t num_rows,
18541825
ret = TSK_ERR_BAD_PARAM_VALUE;
18551826
goto out;
18561827
}
1828+
self->flags = flags;
1829+
self->time = time;
1830+
18571831
ret = takeset_optional_id_column(num_rows, population, &self->population);
18581832
if (ret != 0) {
18591833
goto out;
@@ -1862,8 +1836,8 @@ tsk_node_table_takeset_columns(tsk_node_table_t *self, tsk_size_t num_rows,
18621836
if (ret != 0) {
18631837
goto out;
18641838
}
1865-
ret = takeset_metadata_column(
1866-
num_rows, metadata, metadata_offset, &self->metadata, &self->metadata_offset);
1839+
ret = takeset_ragged_column(num_rows, metadata, metadata_offset,
1840+
(void *) &self->metadata, &self->metadata_offset);
18671841
if (ret != 0) {
18681842
goto out;
18691843
}

0 commit comments

Comments
 (0)